RtlQueryFeatureConfiguration
INT64 __fastcall RtlQueryFeatureConfiguration(UINT64 a1, UINT64 a2, _QWORD *a3){
unsigned int v4;
unsigned int v5;
char v6;
ULONG_PTR v7;
INT64 *BufferManager;
int FeatureConfigurationFromBufferSet;
unsigned int v11;
INT64 a2a;
INT64 a3a[2];
ULONG_PTR BugCheckParameter4;
a2a = 0i64;
a3a[0] = 0i64;
v4 = a2;
v5 = a1;
if( ObGetCurrentIrql() <= 1u )
{
BufferManager = RtlpFcGetBufferManager();
RtlpFcBufferManagerReferenceBuffers((INT64)BufferManager, (INT64)&a2a, a3a);
FeatureConfigurationFromBufferSet = RtlpFcQueryFeatureConfigurationFromBufferSet(a3a[0], v5, v4);
v11 = FeatureConfigurationFromBufferSet;
if( FeatureConfigurationFromBufferSet >= 0 )
{
v11 = 0;
*a3 = a2a;
}
else if( FeatureConfigurationFromBufferSet == -1073741275 || FeatureConfigurationFromBufferSet == -2147483614 )
{
*a3 = a2a;
}
RtlpFcBufferManagerDereferenceBuffers(BufferManager, a3a[0]);
return v11;
}
else
{
if( !KeIsBugCheckActive(0i64) && PoPowerDownActionInProgress == v6 )
KeBugCheckEx(0xAu, (ULONG_PTR)RtlQueryFeatureConfiguration, v7, 0i64, BugCheckParameter4);
return 2147483682i64;
}
}Referenced by:
CmQuerySingleFeatureConfiguration
wil_details_GetCurrentFeatureEnabledState
wil_details_OnFeatureConfigurationChange