Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Mетод CreateFile из kernel32.dll / 6 сообщений из 6, страница 1 из 1
03.01.2013, 16:16
    #38099402
wvetal
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mетод CreateFile из kernel32.dll
Объясните пожалуйста, почему у меня метод 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
03.01.2013, 16:19
    #38099405
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mетод CreateFile из kernel32.dll
wvetalЧто не правильно?
GetLastError() скажет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.01.2013, 16:23
    #38099407
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Mетод CreateFile из kernel32.dll
wvetal,

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

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

ERROR_ACCESS_DENIED
5 (0x5)
Access is denied.

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

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

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


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