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