KseQueryDeviceFlags
NTSTATUS __stdcall KseQueryDeviceFlags(PWCHAR DeviceId, PWCHAR DeviceClass, UINT64 *DeviceFlags){
NTSTATUS DeviceData;
WCHAR v7;
int v9;
WCHAR v10;
struct _UNICODE_STRING DeviceClassa;
struct _UNICODE_STRING DestinationString;
UINT64 LoadFlags;
if( dword_140C50324 != 2 || (*(_BYTE *)KseEngine & 2) != 0 )
return -1073741275;
if( !DeviceId || !DeviceClass || !DeviceFlags )
return -1073741811;
*DeviceFlags = 0i64;
LODWORD(LoadFlags) = 11;
DeviceData = KseQueryDeviceData((_SECTION *)DeviceId, DeviceClass, (UINT64)&LoadFlags);
if( DeviceData >= 0 )
{
v9 = LoadFlags;
if( (LoadFlags & 0xCFFFFFFF) == 11 )
{
DestinationString = 0i64;
DeviceClassa = 0i64;
RtlInitUnicodeString(&DestinationString, DeviceId, v7);
RtlInitUnicodeString(&DeviceClassa, DeviceClass, v10);
KsepEvntLogFlagsApplied(&DestinationString, &DeviceClassa, (v9 & 0x10000000) == 0, 0i64);
*DeviceFlags = 0i64;
return DeviceData;
}
return -1073741275;
}
return DeviceData;
}Referenced by:
No references.