PiUpdateGuestAssignedState

__int64 __fastcall PiUpdateGuestAssignedState(__int64 a1, char a2){
  int v2; 
  unsigned int v4; 
  int v6; 
  v2 = *(_DWORD *)(a1 + 704);
  v4 = v2 | 0x2000;
  if( !a2 )
    v4 = v2 & 0xFFFFDFFF;
  *(_DWORD *)(a1 + 704) = v4;
  if( ((v2 & 0x2000) != 0) == a2 )
  {
    return 0;
  }
  else
  {
    v6 = PipSetGuestAssignedProperty(a1, a2);
    if( v6 < 0 || (v6 = PipSendGuestAssignedNotification(a1, a2), v6 < 0) )
      PnpRequestDeviceRemoval(a1, 0, 57, v6);
  }
  return(unsigned int)v6;
}

Referenced by:

PiProcessQueryDeviceState
PnpDeleteLockedDeviceNodes