PiSendTargetDeviceRemoveCanceledNotification

NTSTATUS __fastcall PiSendTargetDeviceRemoveCanceledNotification(INT64 a1, UINT64 a2){
  unsigned int v2; 
  unsigned int i; 
  __int64 v5; 
  __int64 v6; 
  int v7; 
  NTSTATUS result; 
  if( (_DWORD)a2 )
  {
    v2 = a2;
    for( i = 0; i < v2; ++i )
    {
      v5 = *(_QWORD *)(a1 + 8i64 * (v2 - i - 1));
      if( v5 )
        v6 = *(_QWORD *)(*(_QWORD *)(v5 + 312) + 40i64);
      else
        v6 = 0i64;
      if( v6 )
      {
        v7 = *(_DWORD *)(v6 + 300);
        result = v7 - 769;
        if( ((v7 - 769) & 0xFFFFFFEE) == 0 && v7 != 785 )
          continue;
      }
      result = PnpNotifyTargetDeviceChange((GUID *)GUID_TARGET_DEVICE_REMOVE_CANCELLED, (DEVICE_OBJECT *)v5, 0i64, 0i64);
    }
  }
  return result;
}

Referenced by:

PipProcessQueryRemovalInKernelMode
PipSendTargetDeviceQueryRemoveNotification