переписал на DeviceIoControl
но чуть не допер как получить параметр.
сделал вот что. но тут чегото не хватает. А именно знаний в С:
Код:
if (irpStack->MajorFunction == IRP_MJ_DEVICE_CONTROL)
{
switch (irpStack->Parameters.DeviceIoControl.IoControlCode)
{
case 0x12345:
if (irpStack->Parameters.DeviceIoControl.InputBufferLength == sizeof(HANDLE))
{
------> Вот тут я туплю. Как правильно сделать? ProtectedPid=Irp->AssociatedIrp.SystemBuffer;
DPRINT("PID= %d",ProtectedPid);
}
break;
default: status = STATUS_INVALID_DEVICE_REQUEST;
}
}