do \
{ \
ULONG _i; \
ULONG _ExpectedCount = (ExpectedCount); \
for (_i = 0; _i < _ExpectedCount; _i++) \
{ \
Expected.Values[_i].ValueName =
ValueName.Buffer; \
Expected.Values[_i].ValueType =
REG_SZ; \
Expected.Values[_i].ValueData = (ExpectedArray)[_i].
Str; \
Expected.Values[_i].ValueLength = (ExpectedArray)[_i].
Len; \
} \
Expected.CurrentIndex = 0; \
Expected.Count = _ExpectedCount; \
if (_ExpectedCount == 1) \
QueryTable[0].EntryContext = &
Expected.Values[0]; \
else \
QueryTable[0].EntryContext =
NULL; \
} while(0)
_In_ PCWSTR _Inout_ _At_ QueryTable _Pre_unknown_ PRTL_QUERY_REGISTRY_TABLE QueryTable
NTSYSAPI NTSTATUS WINAPI RtlQueryRegistryValues(ULONG, PCWSTR, PRTL_QUERY_REGISTRY_TABLE, PVOID, PVOID)
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
#define RTL_REGISTRY_HANDLE