include vmm.h
DWORD _RegQueryMultipleValues(HKEY hKey, PVALENT pValent,
DWORD dwNumVals, LPSTR lpValueBuf, LPDWORD lpTotSize)
Retrieves the values for the names specified in the pValent parameter for the specified key in the registry. See the documentation for the Win32 function of the same name for additional information.
ERROR_KEY_DELETED |
ERROR_MORE_DATA |
ERROR_BADKEY |
ERROR_REGISTRY_IO_FAILED |
ERROR_REGISTRY_CORRUPT |
ERROR_BADDB |
HKEY_CLASSES_ROOT |
HKEY_CURRENT_USER |
HKEY_LOCAL_MACHINE |
HKEY_USERS |
HKEY_CURRENT_CONFIG |
HKEY_DYN_DATA |
typedef struct value_ent {
PCHAR ve_valuename;
DWORD ve_valuelen;
DWORD ve_valueptr;
DWORD ve_type;
} VALENT;
RegQueryMultipleValues is useful for dynamic key providers because it assures consistency of data by retrieving multiple values in an atomic operation. For all keys, this service, is more efficient than calling RegQueryValue multiple times, particularly across a network since it can retrieve the values with one network transaction.
Of the predefined key values, only HKEY_LOCAL_MACHINE and HKEY_DYN_DATA are available to VxDs during initialization time. The entire registry space can only be accessed after VxD initialization is complete.