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

Указатель на переменную, предоставленную вызывающим, в которой эта функция возвращает дескриптор открытого подраздела в случае успешного вызова.

Возвращаемое значение

None

Remarks

NdisOpenConfigurationKeyByIndex позволяет драйверу получать доступ к сведениям о конфигурации, которые его файл установки хранится в подразделе реестра.

Обратите внимание, что ConfigurationHandle , переданный в NdisOpenConfigurationKeyByIndex , может быть любым допустимым дескриптором раздела реестра, уже открытого вызывающим элементом. NdisOpenConfigurationKeyByIndex возвращает сведения о конфигурации для подразделов относительно допустимых значений.
ConfigurationHandle .

Так как NdisOpenConfigurationKeyByIndex ссылается на подраздел через индекс, драйверу не нужно указывать имена подразделов. Драйвер может выполнить виртуализацию по набору подразделов реестра, многократно вызывая NdisOpenConfigurationKeyIndex после увеличения индекса до тех пор, пока функция не вернет NDIS_STATUS_FAILURE, указывая тем самым, что открываемых подразделов больше нет.

После использования и, возможно, изменения сведений о конфигурации, хранящихся в реестре, драйвер должен вызвать функцию NdisCloseConfiguration , чтобы освободить дескриптор, полученный из NdisOpenConfigurationKeyByIndex. NdisCloseConfiguration также освобождает любое временное хранилище, выделенное NDIS для вызовов драйвера к функциям NdisReadConfiguration, NdisReadNetworkAddress или 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 (включая Ndis.h)
Библиотека Ndis.lib
IRQL < DISPATCH_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также раздел

ANSI_STRING

MiniportInitializeEx

NdisCloseConfiguration

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisWriteConfiguration

ProtocolBindAdapterEx

UNICODE_STRING