Показать сообщение отдельно

  #7  
Старый 27.09.2007, 22:51
Ni0x
Постоянный
Регистрация: 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;
	}
...
 
Ответить с цитированием