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


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