powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Mетод CreateFile из kernel32.dll
6 сообщений из 6, страница 1 из 1
Mетод CreateFile из kernel32.dll
    #38099402
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объясните пожалуйста, почему у меня метод CreateFile из kernel32.dll возвращает -1(минус один). Что не правильно?
Код: plaintext
1.
[DllImport("kernel32.dll", SetLastError = true)] protected static extern IntPtr CreateFile([MarshalAs(UnmanagedType.LPStr)] string strName, uint nAccess, uint nShareMode, IntPtr lpSecurity, uint nCreationFlags, uint nAttributes, IntPtr lpTemplate);


Вызываю метод так:
Код: plaintext
1.
2.
 
m_hHandle = CreateFile(strPath, GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, IntPtr.Zero);


strPath у меня определяется так:
strPath = "\\\\?\\hid#vid_046d&pid_c03e#6&35594c20&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}";

Может strPath не так определен?
Кто подскажет strPath передается в правильном виде?
...
Рейтинг: 0 / 0
Mетод CreateFile из kernel32.dll
    #38099405
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalЧто не правильно?
GetLastError() скажет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Mетод CreateFile из kernel32.dll
    #38099407
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,

CreateFile возвращает константу INVALID_HANDLE_VALUE в случае неудачи. Чтобы понять что именно произошло вызови GetLastError() сразу после этого. Это даст тебе код ошибки. Его можно найти в списке ошибок или получить описание с помошью функции FormatMessage .
...
Рейтинг: 0 / 0
Mетод CreateFile из kernel32.dll
    #38099417
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, bazile,

GetLastError() возвращает 5:

ERROR_ACCESS_DENIED
5 (0x5)
Access is denied.

В чем может быть проблема?

ЗЫ: Пытаюсь работать с usb-мышью.
...
Рейтинг: 0 / 0
Mетод CreateFile из kernel32.dll
    #38099423
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal, я тебе в другой ветке ответил 13719455 - возможно нужно префикс \\.\ использовать т.к. \\?\ используется для объектов файловой системы.
...
Рейтинг: 0 / 0
Mетод CreateFile из kernel32.dll
    #38099444
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
bazile,

Спасибо, кажется понял в чем дело. Ответил в той же ветке.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Mетод CreateFile из kernel32.dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]