SmKmVolumeQueryUniqueId

NTSTATUS __stdcall SmKmVolumeQueryUniqueId(
        _UNICODE_STRING *KeyName,
        _UNICODE_STRING *ValueName,
        UINT64 *ValueLength,
        _KEY_VALUE_FULL_INFORMATION **KeyValueInformation,
        UINT8 *DeallocateKeyValue){
  ULONG OutputBufferLength; 
  char v8; 
  char v9; 
  _DEVICE_OBJECT *v10; 
  UINT64 v11; 
  INT64 v12; 
  INT16 v13; 
  int v14; 
  unsigned int Length; 

  OutputBufferLength = (unsigned int)ValueLength;
  IoSetThreadHardErrorMode(0);
  v9 = v8;
  v14 = SmKmSendDeviceControl(v10, KeyName, v11, v12, ValueName, OutputBufferLength);
  if( v14 >= 0 )
  {
    Length = ValueName->Length;
    if( Length >= 2 )
    {
      memmove(ValueName, &ValueName->MaximumLength, ValueName->Length);
      SmSanitizeString(&ValueName->Length, (Length & 0xFFFFFFFE) + 2);
      v14 = 0;
    }
    else
    {
      v14 = -1073740730;
    }
  }
  LOBYTE(v13) = v9;
  IoSetThreadHardErrorMode(v13);
  return v14;
}

Referenced by:

SmKmEtwAppendProductName
SmcCacheStart