
27.09.2007, 22:51
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
Да сделай ты через DeviceIoControl, проще будет, один из аргументов функции - буфер для обратного ответа. Будешь передавать драйверу IOCTL коды.
Код:
#define IOCTL_GETPID CTL_CODE(FILE_DEVICE_UNKNOWN, 0x01, \
METHOD_BUFFERED, \
FILE_READ_DATA | FILE_WRITE_DATA)
А драйвер будет обрабатывать их.
Код:
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = MyIrp;
...
NTSTATUS MyIrp(IN PDEVICE_OBJECT dev, IN PIRP pirp)
{
...
switch (ioctl_code)
{
case IOCTL_GETPID:
GetPid();
break;
default:
ns = STATUS_INVALID_DEVICE_REQUEST;
}
...
|
|
|