PiDcHandleContainerEvent
NTSTATUS __stdcall PiDcHandleContainerEvent(PI_PNPRTL_OBJECT_EVENT *ObjectEvent){
unsigned int v1;
NTSTATUS result;
unsigned int v3;
PI_PNPRTL_OBJECT_EVENT *i;
__int64 v5;
__int64 v6;
v1 = ObjectEvent[19];
result = 0;
v3 = 0;
if( v1 )
{
for( i = ObjectEvent + 26; ; i += 8 )
{
if( !*(i - 1) && !*(_QWORD *)i && *(i - 2) == 55 )
{
v5 = 8i64 * v3;
v6 = *(_QWORD *)&ObjectEvent[v5 + 20] - *(_QWORD *)&DEVPKEY_DeviceContainer_IsConnected.fmtid.Data1;
if( !v6 )
v6 = *(_QWORD *)&ObjectEvent[v5 + 22] - *(_QWORD *)DEVPKEY_DeviceContainer_IsConnected.fmtid.Data4;
if( !v6 )
break;
}
if( ++v3 >= v1 )
return result;
}
return PiDcGenerateConfigNotificationIfContainerRequiresConfiguration(*(WCHAR **)(*((_QWORD *)ObjectEvent + 1)
+ 16i64));
}
return result;
}Referenced by:
PiDcHandleObjectEvent