Функция NdisOpenConfigurationEx (ndis.h)

Драйверы NDIS вызывают функцию NdisOpenConfigurationEx , чтобы получить дескриптор конфигурации, который разрешает доступ к параметрам конфигурации в реестре.

Синтаксис

NDIS_STATUS NdisOpenConfigurationEx(
  [in]  PNDIS_CONFIGURATION_OBJECT ConfigObject,
  [out] PNDIS_HANDLE               ConfigurationHandle
);

Параметры

[in] ConfigObject

Указатель на предоставленный и инициализированный вызывающий объект NDIS_CONFIGURATION_OBJECT структура.

[out] ConfigurationHandle

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

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

NdisOpenConfigurationEx возвращает одно из следующих значений состояния:

Код возврата Описание
NDIS_STATUS_SUCCESS
NdisOpenConfigurationEx успешно открыл раздел реестра, в котором хранятся параметры конфигурации драйвера.
NDIS_STATUS_RESOURCES
Сбой NdisOpenConfigurationEx из-за нехватки ресурсов.
NDIS_STATUS_FAILURE
NdisOpenConfigurationEx возвращает NDIS_STATUS_FAILURE, если ни одно из предыдущих значений не применяется.

Комментарии

NdisOpenConfigurationEx возвращает дескриптор конфигурации в параметре ConfigurationHandle . Дескриптор конфигурации связан с разделом реестра, который определяет расположение параметров конфигурации. Вызывающий объект может передать дескриптор конфигурации другим функциям конфигурации NDIS для чтения или записи сведений в реестре.

Чтобы получить доступ к сведениям о конфигурации, используйте дескриптор конфигурации со следующими функциями:

NdisReadConfiguration

NdisWriteConfiguration

NdisOpenConfigurationKeyByName NdisOpenConfigurationKeyByIndex

Тип данных реестра, связанных с дескриптором конфигурации, зависит от типа дескриптора, который вызывающий объект передает в NdisOpenConfigurationEx в элементе NdisHandle NDIS_CONFIGURATION_OBJECT структуру, на которую ссылается параметр ConfigObject . Дескриптор может определять параметры, связанные с драйвером или экземпляром драйвера.

Если драйвер получил дескриптор в NdisHandle путем вызоваФункция NdisMRegisterMiniportDriver, NdisOpenConfigurationEx предоставляет дескриптор расположения реестра, в котором хранятся параметры конфигурации драйвера мини-порта. Драйвер мини-порта может использовать дескриптор конфигурации, пока не вызовет Функция NdisMDeregisterMiniportDriver .

Если драйвер получил дескриптор в NdisHandle из параметра MiniportAdapterHandle функции MiniportInitializeEx , NdisOpenConfigurationEx предоставляет дескриптор для расположения реестра, в котором хранятся параметры конфигурации адаптера мини-порта. Драйвер мини-порта может передать дескриптор конфигурации функции NdisReadNetworkAddress для получения сведений о сетевом адресе, которые могут быть настроены программным обеспечением и администрированы локально. Драйверы минипорта могут использовать дескриптор конфигурации до тех пор, пока NDIS не остановит адаптер минипорта и не вернет функцию MiniportHaltEx .

Если драйвер получил дескриптор в NdisHandle путем вызоваФункция NdisRegisterProtocolDriver, NdisOpenConfigurationEx предоставляет дескриптор расположения реестра, в котором хранятся параметры конфигурации драйвера протокола. Драйвер протокола может использовать дескриптор конфигурации, пока не вызоветФункция NdisDeregisterProtocolDriver.

Если дескриптор в NdisHandle является указателем на структуру NDIS_BIND_PARAMETERS , переданную NDIS в параметре BindParameters функции ProtocolBindAdapterEx , NdisOpenConfigurationEx предоставляет дескриптор для расположения реестра, в котором хранятся параметры конфигурации для привязки протокола. Драйверы протокола могут использовать дескриптор конфигурации до завершения операции привязки.

Если драйвер получил дескриптор в NdisHandle путем вызова функции NdisOpenAdapterEx , NdisOpenConfigurationEx предоставляет дескриптор для расположения реестра, в котором хранятся параметры конфигурации для привязки протокола. Драйвер протокола может использовать дескриптор конфигурации, пока не вызовет функцию NdisCloseAdapterEx .

Если драйвер фильтра получил дескриптор в NdisHandle путем вызоваФункция NdisFRegisterFilterDriver, NdisOpenConfigurationEx предоставляет дескриптор расположения реестра, в котором хранятся параметры конфигурации драйвера фильтра. Драйверы фильтров могут использовать дескриптор конфигурации до тех пор, пока они не вызовут Функция NdisFDeregisterFilterDriver .

Если драйвер фильтра получил дескриптор в NdisHandle из параметра NdisFilterHandle функции FilterAttach , NdisOpenConfigurationEx предоставляет дескриптор для расположения реестра, в котором хранятся параметры конфигурации модулей фильтра. Драйвер фильтра может использовать дескриптор конфигурации, пока NDIS не отсоединит модуль фильтра и не будет возвращена функция FilterDetach . Если драйвер фильтра мониторинга указывает флаг NDIS_CONFIG_FLAG_FILTER_INSTANCE_CONFIGURATION в элементе Flags NDIS_CONFIGURATION_OBJECT структуре драйвер может получить доступ к конфигурации модуля фильтра для конкретного модуля фильтра, если для одного и того же адаптера минипорта настроено несколько модулей фильтра. При изменении драйверов фильтров этот флаг не должен использоваться.

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

Примечание Чтобы убедиться, что эта функция выполняется в IRQL = PASSIVE_LEVEL, драйвер может запланировать рабочий элемент NDIS и вызвать эту и другие функции конфигурации в контексте обратного вызова рабочего элемента.
 

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL PASSIVE_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis), NdisOpenConfigurationEx(ndis)

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

FilterAttach

FilterDetach

MiniportHaltEx

MiniportInitializeEx

NDIS_BIND_PARAMETERS

NDIS_CONFIGURATION_OBJECT

NdisCloseAdapterEx

NdisCloseConfiguration

NdisDeregisterProtocolDriver

NdisFDeregisterFilterDriver

NdisFRegisterFilterDriver

NdisMDeregisterMiniportDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisReadNetworkAddress

NdisRegisterProtocolDriver

NdisWriteConfiguration

ProtocolBindAdapterEx