阅读:1267回复:0
弱问:驱动程序返回不了给定数据
Test(PIRP irp)
{ USHORT val; val=14; PIO_STACK_LOCATION irpStack = IoGetCurrentIrpStackLocation( irp ); ULONG dwInputLength = irpStack->Parameters.DeviceIoControl.InputBufferLength; ULONG dwOutputLength= irpStack->Parameters.DeviceIoControl.OutputBufferLength; PVOID p = ExAllocatePoolWithQuota(NonPagedPoolCacheAligned, 2); RtlCopyMemory(p, &val, 2); irp->AssociatedIrp.SystemBuffer=p; return CompleteIrp(irp,0,2);} CompleteIrp( PIRP Irp, NTSTATUS status, ULONG info) { Irp->IoStatus.Status = status; Irp->IoStatus.Information = info; // return byte information IoCompleteRequest(Irp,IO_NO_INCREMENT); return status; } 为什么应用程序端接收不到我给定的数据呢? 各位大侠,请指教 |
|
|