PnpDeviceObjectToDeviceInstance

NTSTATUS __stdcall PnpDeviceObjectToDeviceInstance(
        DEVICE_OBJECT *DeviceObject,
        PVOID *DeviceInstanceHandle,
        UINT64 DesiredAccess){
  __int64 v4; 
  const wchar_t *v5; 
  v4 = *(_QWORD *)(*((_QWORD *)DeviceObject + 39) + 40i64);
  if( v4 && (v5 = *(const wchar_t **)(v4 + 48)) != 0i64 )
    return CmOpenDeviceRegKey(PiPnpRtlCtx, v5, 16, 0, DesiredAccess, 0, (__int64)DeviceInstanceHandle, 0i64);
  else
    return -1073741808;
}

Referenced by:

IoReportDetectedDevice
PiCreateDriverSwDevices
PiGetDeviceRegistryProperty
PiQueryRemovableDeviceOverride
PiUpdateDevicePanel
PipProcessStartPhase3
PnpSaveDeviceCapabilities