VfPnpDumpIrpStack
VOID __stdcall VfPnpDumpIrpStack(_IO_STACK_LOCATION *IrpSp){
__int64 v2;
INT8 *v3;
INT8 *v4;
unsigned __int8 v5;
int v6;
int v7;
int v8;
const char *v9;
INT8 *v10;
int v11;
int v12;
int v13;
int v14;
int v15;
int v16;
int v17;
int v18;
DbgPrintEx(0x5Du, 0, "IRP_MJ_PNP.");
v2 = *((unsigned __int8 *)IrpSp + 1);
v3 = (INT8 *)"(Bogus)";
if( (unsigned __int8)v2 > 0x18u )
{
v4 = "IRP_MN_BOGUS";
if( (_BYTE)v2 != 0xFF )
v4 = (INT8 *)"(Bogus)";
}
else
{
v4 = PnPIrpNames[v2];
}
VfUtilDbgPrint(v4);
v5 = *((_BYTE *)IrpSp + 1);
if( v5 == 7 )
{
v15 = *((_DWORD *)IrpSp + 2);
if( !v15 )
{
v10 = (INT8 *)"(BusRelations)";
goto LABEL_49;
}
v16 = v15 - 1;
if( !v16 )
{
v10 = "(EjectionRelations)";
goto LABEL_49;
}
v17 = v16 - 1;
if( !v17 )
{
v10 = "(PowerRelations)";
goto LABEL_49;
}
v18 = v17 - 1;
if( !v18 )
{
v10 = "(RemovalRelations)";
goto LABEL_49;
}
if( v18 == 1 )
{
v10 = "(TargetDeviceRelation)";
goto LABEL_49;
}
}
else if( v5 == 12 )
{
v14 = *((_DWORD *)IrpSp + 2);
if( v14 )
{
if( v14 == 1 )
v3 = "(DeviceTextLocationInformation)";
}
else
{
v3 = "(DeviceTextDescription)";
}
}
else
{
if( v5 <= 0xEu )
return;
if( v5 <= 0x10u )
{
DbgPrintEx(
0x5Du,
0,
"(WhichSpace=%x, Buffer=%p, Offset=%x, Length=%x)",
*((unsigned int *)IrpSp + 2),
*((const void **)IrpSp + 2),
*((_DWORD *)IrpSp + 6),
*((_DWORD *)IrpSp + 8));
return;
}
if( v5 == 18 )
{
v9 = "(False)";
v10 = "(True)";
LABEL_21:
if( !*((_BYTE *)IrpSp + 8) )
v10 = (INT8 *)v9;
goto LABEL_49;
}
if( v5 != 19 )
{
if( v5 != 22 )
return;
v6 = *((_DWORD *)IrpSp + 4);
if( v6 )
{
v7 = v6 - 1;
if( v7 )
{
v8 = v7 - 1;
if( v8 )
{
if( v8 == 1 )
v3 = "(DeviceUsageTypeDumpFile";
}
else
{
v3 = "(DeviceUsageTypeHibernation";
}
}
else
{
v3 = "(DeviceUsageTypePaging";
}
}
else
{
v3 = "(DeviceUsageTypeUndefined";
}
VfUtilDbgPrint(v3);
v9 = ", InPath=FALSE)";
v10 = ", InPath=TRUE)";
goto LABEL_21;
}
v11 = *((_DWORD *)IrpSp + 2);
if( v11 )
{
v12 = v11 - 1;
if( v12 )
{
v13 = v12 - 1;
if( v13 )
{
if( v13 == 1 )
v3 = "(BusQueryInstanceID)";
}
else
{
v3 = "(BusQueryCompatibleIDs)";
}
}
else
{
v3 = "(BusQueryHardwareIDs)";
}
}
else
{
v3 = "(BusQueryDeviceID)";
}
}
v10 = v3;
LABEL_49:
VfUtilDbgPrint(v10);
}Referenced by:
No references.