Re[7]: Дрова, дровишки...
От: ServerMouse Беларусь  
Дата: 26.07.02 08:35
Оценка:
C добрым утром ALL! Или уже день...

Вот заколбасил я на стороне драйвера обработчик вызовов IRP_MJ_DEVICE_CONTROL.
А вот как из API до него добраться, непонимаю.
Вот так вот драйвер инициализируется:
IoCreateDevice( DriverObject,
                sizeof(DEVICE_EXTENSION),
                NULL,
                FILE_DEVICE_KEYBOARD,
                0,
                FALSE,
                &device );
//.....
IoAttachDevice( device,
                L"\\Device\\KeyboardClass0",
//На самом деле здесь PUNICODE_STRING, но так короче и нагляднее.
                &devExt->TopOfStack );

А потом хочу достучаться до него через IOCTL:
TCHAR dev[]="\\Device\\KeyboardClass0";
//TCHAR dev[]="\\\\.\\Device\\KeyboardClass0";
HANDLE hKeyDev=CreateFile(dev,MAXIMUM_ALLOWED,                            FILE_SHARE_WRITE,NULL,                            OPEN_EXISTING,NULL,NULL);

if(hKeyDev==INVALID_HANDLE_VALUE)
{
    MessageBox("Can't open device!","ERROR");
    return;
}

Вот и получаю INVALID_HANDLE_VALUE. А как правильно?
Если человек программист, то это надолго.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.