PipIsProblemReadonly

UINT64 __stdcall PipIsProblemReadonly(_DEVICE_NODE *DeviceNode, UINT64 Problem){
  UINT64 result; 

  switch( (int)Problem )
  {
    case 1:
    case 10:
    case 14:
    case 18:
    case 19:
    case 21:
    case 22:
    case 28:
    case 31:
    case 32:
    case 37:
    case 38:
    case 39:
    case 40:
    case 41:
    case 43:
    case 44:
    case 48:
    case 51:
    case 52:
    case 53:
    case 56:
    case 57:
      goto LABEL_2;
    case 3:
      if( (DeviceNode->Flags & 0x20000) != 0 )
        goto LABEL_3;
LABEL_2:
      result = 0i64;
      break;
    default:
LABEL_3:
      result = 1i64;
      break;
  }
  return result;
}

Referenced by:

PiProcessClearDeviceProblem
PiProcessQueryRemoveNoFdo
PiProcessSetDeviceProblem
PnpRemoveLockedDeviceNode