PiProcessDriversLoadedOnSecureDevice
NTSTATUS __stdcall PiProcessDriversLoadedOnSecureDevice(_DEVICE_NODE *DeviceNode){
_DEVICE_OBJECT *PhysicalDeviceObject;
int v3;
__int128 v5;
__int128 v6;
__int128 v7;
__int64 v8;
v5 = 0i64;
PhysicalDeviceObject = DeviceNode->PhysicalDeviceObject;
v6 = 0i64;
v7 = 0i64;
v8 = 0i64;
if( (int)PnpQueryInterface(
PhysicalDeviceObject,
(_IO_SECURITY_CONTEXT *)&GUID_SECURE_DRIVER_INTERFACE,
1,
0x38u,
0i64,
&v5) < 0 )
{
v3 = PipUnprotectDevice((INT64)DeviceNode);
if( v3 < 0 )
{
PnpRequestDeviceRemoval((__int64)DeviceNode, 0, 48, -1073741790);
v3 = -1073741106;
}
}
else
{
(*((void(__fastcall **)(_QWORD))&v6 + 1))(*((_QWORD *)&v5 + 1));
v3 = 0;
}
PnpTraceSecureDeviceEnumeration();
return v3;
}Referenced by:
PipCallDriverAddDevice