Пытаюсь прочитать значения 2-х значений в реестре. Вот как эти два значения выглядят в реестре.
А вот как я пытаюсь получить их в windows ядре.
RTL_QUERY_REGISTRY_TABLE table[3];
RtlZeroMemory(table, sizeof(RTL_QUERY_REGISTRY_TABLE) * 3);
INT64 addrDef = 0;
DWORD def = 0;
INT64 address = 0;
DWORD pid = 0;
table[0].QueryRoutine = NULL;
table[0].Name = L"Address";
table[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
table[0].EntryContext = &address;
table[0].DefaultType = REG_QWORD;
table[0].DefaultData = &addrDef;
table[0].DefaultLength = sizeof(INT64);
table[1].QueryRoutine = NULL;
table[1].Name = L"PID";
table[1].Flags = RTL_QUERY_REGISTRY_DIRECT;
table[1].EntryContext = &pid;
table[1].DefaultType = REG_DWORD;
table[1].DefaultData = &def;
table[1].DefaultLength = sizeof(DWORD);
RtlQueryRegistryValues(RTL_REGISTRY_USER, L"Chilis", table, NULL, NULL);
Я обнаружил, что вызов RtlQueryRegistryValues вызывает ошибку KERNEL_SECURITY_CHECK_FAILURE, но я понятия не имею, почему это происходит. Заранее спасибо