Я пытался скомпилировать пример «DumbPort» из WinIO на 64-битной ОС Windows 7, но при запуске программы я всегда получаю эту ошибку с недостаточными правами пользователя.Я поместил winIO64.dll и winIO64.sys в один каталог с DumbPort.В исходном коде примера сообщение об ошибке не очень полезно, поскольку оно означает, что библиотека WinIo найдена, но ее невозможно инициализировать.Я использую Visual Studio 8, и я не уверен, как я могу отладить это.Вот код:
private void Form1_Load(object sender, EventArgs e)
{
// Check if this is a 32 bit or 64 bit system
if (IntPtr.Size == 4)
{
hMod = LoadLibrary("WinIo32.dll");
}
else if (IntPtr.Size == 8)
{
hMod = LoadLibrary("WinIo64.dll");
}
if (hMod == IntPtr.Zero)
{
MessageBox.Show("Can't find WinIo dll.\nMake sure the WinIo library files are located in the same directory as your executable file.", "DumpPort", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.Close();
}
IntPtr pFunc = GetProcAddress(hMod, "InitializeWinIo");
if (pFunc != IntPtr.Zero)
{
InitializeWinIoType InitializeWinIo = (InitializeWinIoType)Marshal.GetDelegateForFunctionPointer(pFunc, typeof(InitializeWinIoType));
bool Result = InitializeWinIo();
if (!Result)
{
MessageBox.Show("Error returned from InitializeWinIo.\nMake sure you are running with administrative privileges and that the WinIo library files are located in the same directory as your executable file.", "DumpPort", MessageBoxButtons.OK, MessageBoxIcon.Error);
FreeLibrary(hMod);
this.Close();
}
}