Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод EnumerateKey
возвращает сведения о вложенных ключах открытого ключа.
Синтаксис
NTSTATUS EnumerateKey(
[in] ULONG Index,
[in] KEY_INFORMATION_CLASS KeyInformationClass,
[out] PVOID KeyInformation,
[in] ULONG Length,
[out] PULONG ResultLength
);
Параметры
[in] Index
Задает индекс подраздела. Этот параметр определяет подраздел, для которого запрашиваются сведения о ключе. Если ключ содержит n подразделов, допустимые индексы варьируются от 0 до n-1. Если индекс превышает этот диапазон, метод возвращает STATUS_NO_MORE_ENTRIES.
[in] KeyInformationClass
Указывает тип информации, возвращаемой в буфере. Задайте для этого параметра одно из следующих значений перечисления KEY_INFORMATION_CLASS:
- KeyBasicInformation
- KeyFullInformation
- KeyNodeInformation
[out] KeyInformation
Указатель на буфер сведений ключа. Этот параметр указывает на выделенный вызывающим буфером, в который метод записывает запрошенные данные. Буфер содержит структуру типа KEY_BASIC_INFORMATION, KEY_FULL_INFORMATIONили KEY_NODE_INFORMATIONв зависимости от значения KeyInformationClass. За структурой следует строка символов Юникода, размер которой зависит от типа запрашиваемой информации о ключе.
[in] Length
Задает размер в байтах буфера KeyInformation, который вызывающий объект должен задать в соответствии с заданным KeyInformationClass. Для успешного вызова буфер должен иметь по крайней мере размер данных, записываемых методом в буфер.
[out] ResultLength
Указатель вывода для длины полученных данных. Этот параметр указывает на выделенную вызывающим переменную ULONG, в которую метод записывает количество байтов, фактически записанных в буфер KeyInformation. Если указанная длина буфера слишком мала, чтобы содержать сведения, метод вместо этого выводит необходимый размер буфера и возвращает STATUS_BUFFER_OVERFLOW.
Возвращаемое значение
EnumerateKey
возвращает STATUS_SUCCESS, если вызов выполнен успешно при получении запрошенных сведений в буфере KeyInformation. Если указанный размер буфера слишком мал, чтобы получить всю доступную информацию, метод возвращает STATUS_BUFFER_OVERFLOW. В противном случае метод возвращает соответствующий код ошибки. В следующей таблице показаны некоторые возможные коды состояния возврата.
Возвращаемый код | Описание |
---|---|
|
Указывает, что указанный буфер слишком мал, чтобы получить любую информацию. |
|
Указывает, что нет дополнительных подразделов (индекс подраздела больше или равен количеству вложенных ключей). |
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | portcls.h (include Portcls.h) |
IRQL | PASSIVE_LEVEL |