PiPnpRtlGetDeviceRelatedDeviceRoutine

NTSTATUS __stdcall PiPnpRtlGetDeviceRelatedDeviceRoutine(
        HPNPCTX *hPnpCtx,
        _UNICODE_STRING *DeviceInstance,
        UINT64 Relation,
        WCHAR *RelatedDeviceInstance,
        UINT64 RelatedDeviceInstanceLength,
        UINT64 *RequiredLength,
        UINT64 Flags){
  _UNICODE_STRING v7; 
  NTSTATUS result; 
  _UNICODE_STRING PnPControlData; 
  INT64 v10; 
  INT64 v11; 
  int v12; 
  int v13; 

  if( !DeviceInstance || !RequiredLength || (_DWORD)Flags )
    return -1073741811;
  v7 = *DeviceInstance;
  v10 = (unsigned int)Relation;
  v13 = 0;
  PnPControlData = v7;
  v11 = (INT64)RelatedDeviceInstance;
  v12 = RelatedDeviceInstanceLength;
  result = ZwPlugPlayControl(PlugPlayControlGetRelatedDevice, &PnPControlData, 0x28ui64);
  *(_DWORD *)RequiredLength = v12 + 1;
  return result;
}

Referenced by:

No references.