SepBuildCapPolicyTable
NTSTATUS __stdcall SepBuildCapPolicyTable(
UINT64 MaxDataLengthHint,
_SEP_CENTRALIZED_ACCESS_POLICIES_TABLE **CapPoliciesTable){
NTSTATUS v2;
_HANDLE KeyHandle[2];
VOID *pHandle;
VOID *Handle;
*CapPoliciesTable = 0i64;
pHandle = 0i64;
*(_QWORD *)KeyHandle = 0i64;
Handle = 0i64;
if( SepRegOpenKey(
(WCHAR *)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Lsa\\CentralizedAccessPolicies",
0x201ui64,
&pHandle) < 0
|| SepRegOpenKey(
(WCHAR *)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Lsa\\CentralizedAccessPolicies\\CAPEs",
0x201ui64,
(VOID **)KeyHandle) < 0
|| SepRegOpenKey(
(WCHAR *)L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\Lsa\\CentralizedAccessPolicies\\CAPs",
0x201ui64,
&Handle) < 0 )
{
v2 = 0;
}
else
{
v2 = SepReadAndPopulateCapes(KeyHandle[0]);
}
if( Handle )
ZwClose((_HANDLE)Handle);
if( *(_QWORD *)KeyHandle )
ZwClose(KeyHandle[0]);
if( pHandle )
ZwClose((_HANDLE)pHandle);
return v2;
}Referenced by:
SepRmCapUpdateWrkr