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