Функция NdisOpenConfigurationKeyByIndex (ndis.h)
Функция NdisOpenConfigurationKeyByIndex открывает подраздел заданного открытого раздела реестра, который назначается вызывающим дескриптором.
Синтаксис
void NdisOpenConfigurationKeyByIndex(
[out] PNDIS_STATUS Status,
[in] NDIS_HANDLE ConfigurationHandle,
[in] ULONG Index,
[out] PNDIS_STRING KeyName,
[out] PNDIS_HANDLE KeyHandle
);
Параметры
[out] Status
Указатель на указанную вызывающую переменную, в которой эта функция возвращает состояние попытки открыть указанный раздел реестра. Возможные возвращаемые значения являются одним из следующих:
NDIS_STATUS_SUCCESS
NDIS инициализировал доступ к подразделу, указанному keyName и Index.
NDIS_STATUS_FAILURE
Не удалось открыть ключ.
[in] ConfigurationHandle
Дескриптор раздела реестра, для которого открывается подраздел. Как правило, ConfigurationHandle возвращается функция NdisOpenConfigurationEx.
[in] Index
Индекс открываемого подраздела. Это отсчитываемое от нуля значение указывает подключ, который будет открыт под ключом, который уже открыт с помощью ConfigurationHandle.
[out] KeyName
Указатель на тип NDIS_STRING, содержащий буфер, предоставленный вызывающим, в котором эти функции возвращают подсчитываемую строку в системном наборе символов по умолчанию. Эта строка указывает имя открытого подраздела, если вызов выполнен успешно. Для драйверов Microsoft Windows 2000 и более поздних версий эта строка содержит символы Юникода. То есть для Windows 2000 и более поздних версий NDIS определяет тип NDIS_STRING как тип UNICODE_STRING.
[out] KeyHandle
Указатель на указанную вызывающим переменную, в которой эта функция возвращает дескриптор открытому подразделу, если вызов выполнен успешно.
Возвращаемое значение
Никакой
Замечания
NdisOpenConfigurationKeyByIndex позволяет драйверу получить доступ к сведениям о конфигурации, которые хранится в файле установки, хранящемся в подразделе реестра.
Обратите внимание, что ConfigurationHandle, переданной в NdisOpenConfigurationKeyByIndex, может быть любым допустимым дескриптором раздела реестра, который уже открыл вызывающий объект.
NdisOpenConfigurationKeyByIndex возвращает сведения о конфигурации для вложенных ключей относительно любого допустимого
ConfigurationHandle.
Так как NdisOpenConfigurationKeyByIndex ссылается на вложенный ключ через индекс, драйверу не нужно указывать имена подразделов. Драйвер может выполнять последовательность с помощью набора вложенных разделов реестра путем многократного вызова NdisOpenConfigurationKeyIndex после увеличения индекса до тех пор, пока функция не возвращает NDIS_STATUS_FAILURE, тем самым указывая на отсутствие дополнительных вложенных ключей для открытия.
После использования драйвера и, возможно, изменения сведений о конфигурации, хранящихся в реестре, необходимо вызвать функцию NdisCloseConfiguration, чтобы освободить дескриптор, полученный из NdisOpenConfigurationKeyByIndex. NdisCloseConfiguration также освобождает любое временное хранилище, выделенное NDIS для вызовов драйвера NdisReadConfiguration, NdisReadNetworkAdd функцииили NdisWriteConfiguration с SubKeyHandle, возвращаемыми NdisOpenConfigurationKeyByIndex.