EtwpEnableKeyProviders
VOID __fastcall 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 a8;
INT64 a8a;
struct _RTL_AVL_TABLE Table;
INT64 result[36];
v5 = LoggerId;
memset((INT64)&Table, 0i64);
memset((INT64)result, 0i64);
RtlInitializeGenericTableAvl(
&Table,
(PRTL_AVL_COMPARE_ROUTINE)EtwpAvlCompareKeyNames,
EtwpAllocateKeyNameEntry,
EtwpFreeKeyNameEntry,
0i64);
LODWORD(a8) = KeyLength;
EtwpEnumerateKeyProviders(
(INT64)SiloState,
v5,
LoggerRegistryKeyName,
(INT64)KeyInformation,
(UINT64 *)result,
v10,
&Table,
a8);
if( KeyInformation )
{
LODWORD(a8a) = KeyLength;
EtwpEnumerateKeyProviders(
(INT64)SiloState,
v5,
(const WCHAR *)KeyInformation,
0i64,
(UINT64 *)result,
v11,
&Table,
a8a);
}
EtwpFreeKeyNameList(&Table, v9);
}Referenced by:
EtwStartAutoLogger