Функция RtlQueryRegistryValues может выделять память для возврата результата REG_SZ. Все работает хорошо, но я не могу догадаться, как освободить эту память. Фрагмент кода:
UNICODE_STRING result;
RtlZeroMemory(&result, sizeof(UNICODE_STRING));
RTL_QUERY_REGISTRY_TABLE queryTable[2];
queryTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT | . . .;
queryTable[0].EntryContent = &result;
. . .
RtlQueryRegistryValues(..., queryTable, NULL, NULL);
Все поля result
заполнены правильно. Я пытаюсь выяснить, как бороться с результатами. Буфер. В качестве обходного пути, я могу выделить достаточный буфер самостоятельно перед вызовом функции, но я ищу чистое решение. Спасибо ==