PiPnpRtlGatherPanelRemoveInfo
NTSTATUS __stdcall PiPnpRtlGatherPanelRemoveInfo(WCHAR *ObjectName, WCHAR *a2, PVOID *a3){
VOID **PoolWithTag;
int Object;
PoolWithTag = ExAllocatePoolWithTag(1ui64, 0x10ui64, 1198550608i64);
*a3 = PoolWithTag;
if( !PoolWithTag )
{
Object = -1073741670;
LABEL_8:
PiPnpRtlFreePanelRemoveInfo(*a3);
*a3 = 0i64;
return Object;
}
*(_OWORD *)PoolWithTag = 0i64;
Object = PiDmGetObject(1, ObjectName, (PI_DM_OBJECT **)PoolWithTag);
if( (int)(Object + 0x80000000) >= 0 && Object != -1073741772 )
goto LABEL_8;
Object = PiDmGetObject(6, a2, (PI_DM_OBJECT **)*a3 + 1);
if( Object == -1073741772 )
Object = 0;
if( Object < 0 )
goto LABEL_8;
return Object;
}Referenced by:
PiPnpRtlCmActionCallback