PiDqIrpComplete
VOID __stdcall PiDqIrpComplete(
_IRP *Irp,
INT64 Status,
UINT64 BytesUsed,
_DEV_QUERY_IOCTL_CONTROL_BLOCK *ControlBlock,
_DEV_QUERY_IOCTL_CONTROL_BLOCK *ControlBlocka){
unsigned __int64 v5;
_DEV_QUERY_IOCTL_CONTROL_BLOCK *UserBuffer;
v5 = 0i64;
if( (int)Status >= 0 )
{
if( *(_DWORD *)&Irp->Tail.CurrentStackLocation->Parameters.FileAttributes == 4653063 )
UserBuffer = (_DEV_QUERY_IOCTL_CONTROL_BLOCK *)Irp->UserBuffer;
else
UserBuffer = (_DEV_QUERY_IOCTL_CONTROL_BLOCK *)Irp->AssociatedIrp.MasterIrp;
*UserBuffer = *ControlBlock;
v5 = (unsigned int)BytesUsed;
}
Irp->IoStatus.Information = v5;
Irp->IoStatus.Status = Status;
IofCompleteRequest(Irp, 0);
}Referenced by:
PiDqIrpQueryCreate
PiDqIrpQueryGetResult
PiDqQueryCompletePendedIrp