IoGetDevicePropertyData
VOID __stdcall IoGetDevicePropertyData(DEVICE_OBJECT *Pdo, DEVPROPKEY *PropertyKey, UINT64 Lcid, UINT64 Flags){
__int64 v5;
__int16 *v6;
_WORD *v7;
PVOID *v8;
PVOID *v9;
__int64 v10;
_WORD *v11;
__int64 v12;
_WORD *v13;
__int64 v14;
void *BugCheckParameter4;
ULONG Size;
UINT64 *Data;
UINT64 *RequiredSize;
if( !Pdo )
goto LABEL_16;
v5 = *(_QWORD *)(*((_QWORD *)Pdo + 39) + 40i64);
if( !v5 || (*(_DWORD *)(v5 + 396) & 0x20000) != 0 )
{
IoAddTriageDumpDataBlock(Pdo, *((unsigned __int16 *)Pdo + 1));
v6 = (__int16 *)*((_QWORD *)Pdo + 1);
if( v6 )
{
IoAddTriageDumpDataBlock(v6, (unsigned int)v6[1]);
v7 = (_WORD *)(*((_QWORD *)Pdo + 1) + 56i64);
if( *v7 )
{
IoAddTriageDumpDataBlock(v7, 2ui64);
IoAddTriageDumpDataBlock(
*(PVOID *)(*((_QWORD *)Pdo + 1) + 64i64),
*(unsigned __int16 *)(*((_QWORD *)Pdo + 1) + 56i64));
}
}
v8 = *(PVOID **)(*((_QWORD *)Pdo + 39) + 40i64);
if( v8 )
{
v9 = v8 + 5;
IoAddTriageDumpDataBlock(v8, 0x310ui64);
if( *(_WORD *)v9 )
{
IoAddTriageDumpDataBlock(v9, 2ui64);
IoAddTriageDumpDataBlock(v9[1], *(unsigned __int16 *)v9);
}
v10 = *((_QWORD *)Pdo + 39);
v11 = (_WORD *)(*(_QWORD *)(v10 + 40) + 56i64);
if( *v11 )
{
IoAddTriageDumpDataBlock(v11, 2ui64);
IoAddTriageDumpDataBlock(
*(PVOID *)(*(_QWORD *)(*((_QWORD *)Pdo + 39) + 40i64) + 64i64),
*(unsigned __int16 *)(*(_QWORD *)(*((_QWORD *)Pdo + 39) + 40i64) + 56i64));
v10 = *((_QWORD *)Pdo + 39);
}
v12 = *(_QWORD *)(*(_QWORD *)(v10 + 40) + 16i64);
if( v12 )
{
v13 = (_WORD *)(v12 + 56);
if( *v13 )
{
IoAddTriageDumpDataBlock(v13, 2ui64);
v14 = *(_QWORD *)(*(_QWORD *)(*((_QWORD *)Pdo + 39) + 40i64) + 16i64);
IoAddTriageDumpDataBlock(*(PVOID *)(v14 + 64), *(unsigned __int16 *)(v14 + 56));
}
}
}
LABEL_16:
KeBugCheckEx(0xCAu, 2ui64, (ULONG_PTR)Pdo, 0i64, 0i64);
}
LODWORD(BugCheckParameter4) = Size;
PnpGetDevicePropertyData(Pdo, PropertyKey, Lcid, Flags, BugCheckParameter4, Data, RequiredSize);
}Referenced by:
HalpAreDriversDmarCompatible
IopGetInterruptConnectionData
IopGetSessionIdFromPDO
PnprIsMemoryDevice
PnprIsProcessorDevice
PopFxBuildDripsBlockingDeviceList
PopFxIsDevicePotentialDripsConstraint
PopFxQueryBiosDeviceName
VfGetDmaAdapter