Поделиться через


Функция 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.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. статью NdisOpenConfigurationKeyByIndex (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisOpenConfigurationKeyByIndex (NDIS 5.1)) в Windows XP.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL < DISPATCH_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также

ANSI_STRING

MiniportInitializeEx

NdisCloseConfiguration

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisWriteConfiguration

ProtocolBindAdapterEx

UNICODE_STRING