SdbpQueryAppCompatFlagsByExeID
NTSTATUS __stdcall SdbpQueryAppCompatFlagsByExeID(WCHAR *pwszExeID, INT64 bMachine, UINT64 *lpdwFlags){
_DWORD *v3;
_DWORD *v4;
NTSTATUS Key;
NTSTATUS v7;
bool v8;
NTSTATUS UInt32;
UINT64 ValueOut;
PVOID KeyHandle;
HIDWORD(ValueOut) = HIDWORD(pwszExeID);
LODWORD(ValueOut) = 0;
KeyHandle = 0i64;
v4 = v3;
Key = AslRegistryGetKey(&KeyHandle, (INT64)L"\\Software\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags");
v7 = Key;
if( Key >= 0 )
{
UInt32 = AslRegistryGetUInt32(&ValueOut, KeyHandle, (PWCHAR)bMachine);
v7 = UInt32;
if( UInt32 >= 0 )
{
v7 = 0;
}
else if( UInt32 != -1073741772 )
{
AslLogCallPrintf(
1ui64,
(INT8 *)"SdbpQueryAppCompatFlagsByExeID",
0x4Bui64,
(INT8 *)"AslRegistryGetUInt32 failed for key: '%ws' [%x]");
}
}
else if( Key != -1073741772 )
{
AslLogCallPrintf(1ui64, (INT8 *)"SdbpQueryAppCompatFlagsByExeID", 0x40ui64, (INT8 *)"AslRegistryGetKey failed [%x]");
}
v8 = KeyHandle == 0i64;
*v4 = ValueOut;
if( !v8 )
ZwClose((_HANDLE)KeyHandle);
return v7;
}Referenced by:
SdbGetEntryFlags