Функция 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 возвращает одно из следующих значений состояния:
Возвращаемый код | Описание |
---|---|
|
NdisOpenConfigurationEx успешно открыл раздел реестра, в котором хранятся параметры конфигурации драйвера. |
|
NdisOpenConfigurationEx произошел сбой из-за нехватки ресурсов. |
|
NdisOpenConfigurationEx возвращает NDIS_STATUS_FAILURE, если ни одно из предыдущих значений не применяется. |
Замечания
NdisOpenConfigurationEx возвращает дескриптор конфигурации в параметре ConfigurationHandle. Дескриптор конфигурации связан с разделом реестра, который определяет расположение параметров конфигурации. Вызывающий объект может передать дескриптор конфигурации другим функциям конфигурации NDIS для чтения или записи сведений в реестре.
Чтобы получить доступ к сведениям о конфигурации, используйте дескриптор конфигурации со следующими функциями:
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, чтобы освободить дескриптор конфигурации и связанные ресурсы.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
целевая платформа | Всеобщий |
заголовка | ndis.h (include Ndis.h) |
библиотеки | Ndis.lib |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI | Irql_Miscellaneous_Function(ndis), NdisOpenConfigurationEx(ndis) |