PiPnpRtlGatherContainerRemoveInfo
NTSTATUS __stdcall PiPnpRtlGatherContainerRemoveInfo(WCHAR *DeviceInstanceId, WCHAR *ContainerId, PVOID *Info){
VOID **PoolWithTag;
int Object;
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x10ui64, 1198550608i64);
*Info = PoolWithTag;
if( !PoolWithTag )
{
Object = -1073741670;
LABEL_9:
PiPnpRtlFreePanelRemoveInfo(*Info);
*Info = 0i64;
return Object;
}
*(_OWORD *)PoolWithTag = 0i64;
Object = PiDmGetObject(1, DeviceInstanceId, (PI_DM_OBJECT **)PoolWithTag);
if( (int)(Object + 0x80000000) >= 0 && Object != -1073741772 )
goto LABEL_9;
Object = PiDmGetObject(5, ContainerId, (PI_DM_OBJECT **)*Info + 1);
if( Object == -1073741772 )
Object = 0;
if( Object < 0 )
goto LABEL_9;
return Object;
}Referenced by:
PiPnpRtlCmActionCallback