CmGetDevicePanelMappedProperty
__int64 __fastcall CmGetDevicePanelMappedProperty(
__int64 a1,
const wchar_t *a2,
__int64 a3,
__int64 a4,
__int64 a5,
_DWORD *a6,
GUID *a7,
unsigned int a8,
_DWORD *a9){
__int64 result;
int v11;
__int64 v12;
GUID *v13;
GUID *v14;
GUID *v15;
result = 3221225494i64;
*a9 = 0;
if( !a4 )
{
v11 = *(_DWORD *)(a5 + 16);
switch( v11 )
{
case 2:
v12 = *(_QWORD *)a5 - DEVPKEY_DevicePanel_ContainerId;
if( *(_QWORD *)a5 == DEVPKEY_DevicePanel_ContainerId )
v12 = *(_QWORD *)(a5 + 8) + 0x488426EC2804D35Ai64;
if( !v12 )
{
*a6 = 13;
*a9 = 16;
if( a8 < 0x10 )
return 3221225507i64;
v13 = a7;
v14 = 0i64;
goto LABEL_21;
}
break;
case 3:
v13 = (GUID *)(*(_QWORD *)a5 - DEVPKEY_DevicePanel_Group);
if( *(_QWORD *)a5 == DEVPKEY_DevicePanel_Group )
v13 = (GUID *)(*(_QWORD *)(a5 + 8) + 0x488426EC2804D35Ai64);
if( !v13 )
{
*a6 = 7;
*a9 = 4;
if( a8 < 4 )
return 3221225507i64;
v15 = a7;
v14 = 0i64;
return CmSplitDevicePanelId(a2, v13, &v15->Data1, &v14->Data1);
}
break;
case 4:
v13 = (GUID *)(*(_QWORD *)a5 - DEVPKEY_DevicePanel_Side);
if( *(_QWORD *)a5 == DEVPKEY_DevicePanel_Side )
v13 = (GUID *)(*(_QWORD *)(a5 + 8) + 0x488426EC2804D35Ai64);
if( !v13 )
{
*a6 = 7;
*a9 = 4;
if( a8 < 4 )
return 3221225507i64;
v14 = a7;
LABEL_21:
v15 = 0i64;
return CmSplitDevicePanelId(a2, v13, &v15->Data1, &v14->Data1);
}
break;
}
}
return result;
}Referenced by:
PnpDispatchDevicePanel