EtwpEnableKeyProviders
VOID __stdcall EtwpEnableKeyProviders(
_ETW_SILODRIVERSTATE *SiloState,
UINT64 LoggerId,
const WCHAR *LoggerRegistryKeyName,
_KEY_BASIC_INFORMATION *KeyInformation,
UINT64 KeyLength){
unsigned int v5;
_RTL_AVL_TABLE *v9;
__int64 v10;
__int64 v11;
INT64 v12;
INT64 v13;
_RTL_AVL_TABLE Table;
int v15[72];
v5 = LoggerId;
memset(&Table, 0i64, sizeof(Table));
memset(v15, 0i64, sizeof(v15));
RtlInitializeGenericTableAvl(
&Table,
(PRTL_AVL_COMPARE_ROUTINE)EtwpAvlCompareKeyNames,
(PRTL_AVL_ALLOCATE_ROUTINE)EtwpAllocateKeyNameEntry,
(PRTL_AVL_FREE_ROUTINE)EtwpFreeKeyNameEntry,
0i64);
LODWORD(v12) = KeyLength;
EtwpEnumerateKeyProviders(
(INT64)SiloState,
v5,
LoggerRegistryKeyName,
(INT64)KeyInformation,
(unsigned int *)v15,
v10,
&Table,
v12);
if( KeyInformation )
{
LODWORD(v13) = KeyLength;
EtwpEnumerateKeyProviders(
(INT64)SiloState,
v5,
(const WCHAR *)KeyInformation,
0i64,
(unsigned int *)v15,
v11,
&Table,
v13);
}
EtwpFreeKeyNameList(&Table, v9);
}Referenced by:
EtwStartAutoLogger