KseQueryDeviceFlags
NTSTATUS __stdcall KseQueryDeviceFlags(WCHAR *DeviceId, WCHAR *DeviceClass, UINT64 *DeviceFlags){
int v6;
int v8;
UINT64 v9;
UINT64 DataBufferLength;
UINT64 Flags;
_UNICODE_STRING DeviceClassa;
_UNICODE_STRING DestinationString;
UINT64 DataType;
Flags = 0i64;
if( dword_140C50324 != 2 || (Engine & 2) != 0 )
return -1073741275;
if( !DeviceId || !DeviceClass || !DeviceFlags )
return -1073741811;
*DeviceFlags = 0i64;
LODWORD(DataType) = 11;
LODWORD(DataBufferLength) = 8;
v6 = KseQueryDeviceData(DeviceId, DeviceClass, &DataType, &DataBufferLength, &Flags);
if( v6 >= 0 )
{
v8 = DataType;
if( (DataType & 0xCFFFFFFF) == 11 )
{
DestinationString = 0i64;
DeviceClassa = 0i64;
RtlInitUnicodeString(&DestinationString, DeviceId);
RtlInitUnicodeString(&DeviceClassa, DeviceClass);
v9 = Flags;
KsepEvntLogFlagsApplied(&DestinationString, &DeviceClassa, (v8 & 0x10000000) == 0, Flags);
*DeviceFlags = v9;
return v6;
}
return -1073741275;
}
return v6;
}Referenced by:
No references.