|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
RegEnumValue
The RegEnumValue function enumerates the values for the specified open registry key. The function copies one indexed value name and data block for the key each time it is called.
LONG RegEnumValue(
HKEY hKey, // handle of key to query DWORD dwIndex, // index of value to query LPTSTR lpValueName, // address of buffer for value string LPDWORD lpcbValueName, // address for size of value buffer LPDWORD lpReserved, // reserved LPDWORD lpType, // address of buffer for type code LPBYTE lpData, // address of buffer for value data LPDWORD lpcbData // address for size of data buffer );
Parameters
hKey
Identifies a currently open key or any of the following predefined reserved handle values:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS The enumerated values are associated with the key identified by hKey.
dwIndex
Specifies the index of the value to retrieve. This parameter should be zero for the first call to the RegEnumValue function and then be incremented for subsequent calls. Because values are not ordered, any new value will have an arbitrary index. This means that the function may return values in any order.
lpValueName
Points to a buffer that receives the name of the value, including the terminating null character.
lpcbValueName
Points to a variable that specifies the size, in characters, of the buffer pointed to by the lpValueName parameter. This size should include the terminating null character. When the function returns, the variable pointed to by lpcbValueName contains the number of characters stored in the buffer. The count returned does not include the terminating null character.
lpReserved
Reserved; must be NULL.
lpType
Points to a variable that receives the type code for the value entry. The type code can be one of the following values:
Value Meaning REG_BINARY Binary data in any form. REG_DWORD A 32-bit number. REG_DWORD_LITTLE_ENDIAN A 32-bit number in little-endian format (same as REG_DWORD). In little-endian format, the most significant byte of a word is the high-order byte. This is the most common format for computers running Windows NT and Windows 95. REG_DWORD_BIG_ENDIAN A 32-bit number in big-endian format. In big-endian format, the most significant byte of a word is the low-order byte. REG_EXPAND_SZ A null-terminated string that contains unexpanded references to environment variables (for example, "%PATH%"). It will be a Unicode or ANSI string depending on whether you use the Unicode or ANSI functions. REG_LINK A Unicode symbolic link. REG_MULTI_SZ An array of null-terminated strings, terminated by two null characters. REG_NONE No defined value type. REG_RESOURCE_LIST A device-driver resource list. REG_SZ A null-terminated string. It will be a Unicode or ANSI string, depending on whether you use the Unicode or ANSI functions.
The lpType parameter can be NULL if the type code is not required.
lpData
Points to a buffer that receives the data for the value entry. This parameter can be NULL if the data is not required.
lpcbData
Points to a variable that specifies the size, in bytes, of the buffer pointed to by the lpData parameter. When the function returns, the variable pointed to by the lpcbData parameter contains the number of bytes stored in the buffer. This parameter can be NULL, only if lpData is NULL.
Return Values
If the function succeeds, the return value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in WINERROR.H. You can use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
Remarks
To enumerate values, an application should initially call the RegEnumValue function with the dwIndex parameter set to zero. The application should then increment dwIndex and call the RegEnumValue function until there are no more values (until the function returns ERROR_NO_MORE_ITEMS). The application can also set dwIndex to the index of the last value on the first call to the function and decrement the index until the value with index 0 is enumerated. To retrieve the index of the last value, use the RegQueryInfoKey function.
While using RegEnumValue, an application should not call any registration functions that might change the key being queried. The key identified by the hKey parameter must have been opened with KEY_QUERY_VALUE access. To open the key, use the RegCreateKeyEx or RegOpenKeyEx function. To determine the maximum size of the name and data buffers, use the RegQueryInfoKey function.
See Also
RegCreateKeyEx, RegEnumKey, RegEnumKeyEx, RegOpenKeyEx, RegQueryInfoKey
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
RegEnumValue
Функция RegEnumValue перечисляет величины для определенного открытого ключа регистрации. Функция копирует один проиндексировавшее имя величины и блока данных для клавиши всякий раз, когда она названа.
ДОЛГО (ДЛИНОЙ) RegEnumValue(
HKEY hKey, // РУЧКА клавиши на запрос DWORD dwIndex, // ценный индекс на запрос LPTSTR lpValueName, // адрес буфера для строки величины LPDWORD lpcbValueName, // адрес для ценного буфера размера LPDWORD lpReserved, // зарезервировавшее LPDWORD lpType, // адрес буфера для кода типа LPBYTE lpData, // адрес буфера для данных величины LPDWORD lpcbData // адрес для размера буфера данных );
Параметры
hKey
Идентифицирует к настоящему времени открытую клавишу или любая из следующей встроенной резервной ручки оценивает:
HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS Перечисленные величины связаны клавишей идентифицированной hKey.
dwIndex
Определяет индекс величины, чтобы извлекаться. Этот параметр должен быть нулем для сначала вызов в функцию RegEnumValue затем увеличен для последующих вызовов. Поскольку величины не заказаны, любая новая величина будет иметь произвольный индекс. Это означает, что функция может возвращать величины в любой порядок.
lpValueName
Точки на буфер, которые получают имя величины, включая завершающий недействительный символ.
lpcbValueName
Точки на переменную, которые определяют размер, в символах, буфера указанного, чтобы параметром lpValueName. Этот размер должен включить завершающий недействительный символ. Когда функция возвращается, переменная указанная, чтобы lpcbValueName содержит количество символов загруженных в буфер. Счет не возвращал включает завершающий недействительный символ.
lpReserved
Зарезервированное; должно быть НЕДЕЙСТВИТЕЛЬНО.
lpType
Точки на переменную, которые получают код типа для входа величины. Код типа может быть одним из следующего величин:
Значение Величины данные Двоичного кода REG_BINARY в любой форме. REG_DWORD 32- битовое число. REG_DWORD_LITTLE_ENDIAN 32- битовое число в немного-endian формате (также, как REG_DWORD). В немного-endian формате, наиболее значимый байт слова является старшим байтом. Это - наиболее общий формат для компьютеров, выполняющих Windows NT и Windows 95. REG_DWORD_BIG_ENDIAN 32- битовое число в формате большого endian. В формате большого endian, наиболее значимый байт слова является младшим байтом. REG_EXPAND_SZ недействительный расторгнутая строка, которая содержит unexpanded ссылки на переменные среды (например, "%ПУТЬ%"). Это будет Уникодом или строкой ANSI или Вы используете Уникод или функции ANSI. REG_LINK символическая связь Уникода. REG_MULTI_SZ массив недействительный расторгнутых строк, завершался двумя недействительными символами. No REG_NONE определяло тип величины. REG_RESOURCE_LIST устройство-драйверный список ресурса. REG_SZ недействительный расторгнутая строка. Это будет Уникодом или строкой ANSI, или Вы используете Уникод или функции ANSI.
Параметр lpType может быть НЕДЕЙСТВИТЕЛЕН если код типа не потребовался.
lpData
Точки на буфер, которые получают данные для входа величины. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН если данные не потребовались.
lpcbData
Точки на переменную, которые определяют размер, в байтах, буфера указанного, чтобы параметром lpData. Когда функция возвращается, переменная указанная, чтобы параметром lpcbData содержит количество байтов загруженных в буфер. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН, только если lpData НЕДЕЙСТВИТЕЛЕН.
Обратные Величины
Если функция добивается успеха, обратная величина - ERROR_SUCCESS. Если функция терпит неудачу, обратная величина является ненулевым кодом ошибки определенным в WINERROR.H. Вы можете использовать функцию FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM, чтобы получать общее описание ошибки.
Замечания
Для того, чтобы перечислять величины, приложение должно первоначально называть функцию RegEnumValue с параметром dwIndex установленным в нуль. Приложение должно затем увеличивать dwIndex и называть функцию RegEnumValue до нет больше величин (пока функция не возвращает ERROR_NO_MORE_ITEMS). Приложение может также установить dwIndex в индекс последней величины на первом вызове в функцию и декремент индекс пока величина с индексом 0 не будет перечислена. Для того, чтобы извлекать индекс последней величины, используйте функцию RegQueryInfoKey.
При использовании RegEnumValue, приложение не должно называть любые регистрационные функции, которые могли изменить клавишу, спрашиванную. Клавиша идентифицированная параметром hKey по-видимому открыта доступом KEY_QUERY_VALUE. Для того, чтобы открывать клавишу, используйте RegCreateKeyEx или функцию RegOpenKeyEx. Для того, чтобы определять максимальный размер имени и буферов данных, используйте функцию RegQueryInfoKey.
Смотри Также
RegCreateKeyEx, RegEnumKey, RegEnumKeyEx, RegOpenKeyEx, RegQueryInfoKey
|
|
|
|
| |