PipSendGuestAssignedNotification

void __fastcall PipSendGuestAssignedNotification(__int64 a1, char a2){
  INT64 v4; 
  _IRP *DeviceUsageNotification; 
  UINT64 v6; 
  INT64 v7[9]; 

  memset(v7, 0i64, 0x40u);
  LODWORD(v4) = IoGetAttachedDevice(*(_QWORD *)(a1 + 32));
  v7[0] = v4;
  LODWORD(v7[1]) = 6;
  BYTE4(v7[1]) = a2;
  DeviceUsageNotification = PpIrpAllocateDeviceUsageNotification((INT64)v7);
  v6 = (UINT64)DeviceUsageNotification;
  if( DeviceUsageNotification )
  {
    IoQueueThreadIrp((INT64)DeviceUsageNotification);
    if( IofCallDriver(v7[0], v6) == 259 )
      KeWaitForSingleObject((UINT64)&v7[5], 0, 0, 0, 0i64);
  }
}

Referenced by:

PiUpdateGuestAssignedState