SmKmVolumeQueryUniqueId

INT64 __fastcall SmKmVolumeQueryUniqueId(
        DEVICE_OBJECT *DeviceObject,
        VOID *UniqueIdBuffer,
        UINT64 BufferSize,
        UINT64 Sanitize){
  UINT8 v6; 
  DEVICE_OBJECT *v7; 
  UINT64 v8; 
  UINT64 v9; 
  NTSTATUS v10; 
  unsigned int v11; 
  UINT64 Size; 
  void *v14; 
  LODWORD(Size) = BufferSize;
  v6 = IoSetThreadHardErrorMode(0);
  v10 = SmKmSendDeviceControl(v7, (DEVPROPKEY *)DeviceObject, v8, v9, (UINT64)UniqueIdBuffer, Size, v14);
  if( v10 >= 0 )
  {
    v11 = *(unsigned __int16 *)UniqueIdBuffer;
    if( v11 >= 2 )
    {
      memmove((UINT8 *)UniqueIdBuffer, (UINT8 *)UniqueIdBuffer + 2, *(unsigned __int16 *)UniqueIdBuffer);
      SmSanitizeString((wchar_t *)UniqueIdBuffer, (v11 & 0xFFFFFFFE) + 2);
      v10 = 0;
    }
    else
    {
      v10 = -1073740730;
    }
  }
  IoSetThreadHardErrorMode(v6);
  return(unsigned int)v10;
}

Referenced by:

SmKmEtwAppendProductName
SmcCacheStart