IopGetDevicePDO

DEVICE_OBJECT *__stdcall IopGetDevicePDO(DEVICE_OBJECT *DeviceObject){
  KIRQL v2; 
  DEVICE_OBJECT *DeviceAttachmentBase; 
  DEVICE_OBJECT *v4; 
  v2 = KeAcquireQueuedSpinLock(0xAui64);
  DeviceAttachmentBase = IopGetDeviceAttachmentBase(DeviceObject);
  v4 = DeviceAttachmentBase;
  if( (*((_DWORD *)DeviceAttachmentBase + 12) & 0x1000) != 0 )
    ObfReferenceObjectWithTag(DeviceAttachmentBase, 0x746C6644u);
  else
    v4 = 0i64;
  KeReleaseQueuedSpinLock(0xAui64, v2);
  return v4;
}

Referenced by:

IoAllowExecution
IoRegisterContainerNotification
IoRevokeHandlesForProcess
IopGetNumaNodeInformation
IopGetSetSecurityObject
IopParseDevice