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。

注解

NdisOpenConfigurationExConfigurationHandle 参数处返回配置句柄。 配置句柄与标识配置参数位置的注册表项相关联。 调用方可以将配置句柄传递给其他 NDIS 配置函数,以读取或写入注册表中的信息。

若要访问配置信息,请使用具有以下函数的配置句柄:

NdisReadConfiguration

NdisWriteConfiguration

NdisOpenConfigurationKeyByName NdisOpenConfigurationKeyByIndex

与配置句柄关联的注册表数据类型取决于调用方在 NdisHandle 成员中传递给 NdisOpenConfigurationEx 的句柄类型 NDIS_CONFIGURATION_OBJECTConfigObject 参数引用的结构。 句柄可以标识与驱动程序或驱动程序实例关联的参数。

如果驱动程序通过调用 NdisHandle 获取了句柄 NdisMRegisterMiniportDriver 函数 NdisOpenConfigurationEx 为存储微型端口驱动程序配置参数的注册表位置提供句柄。 微型端口驱动程序可以使用配置句柄,直到调用 NdisMDeregisterMiniportDriver 函数。

如果驱动程序从 MiniportInitializeEx 函数的 MiniportAdapterHandle 参数中获取了 NdisHandle 中的句柄,则 NdisOpenConfigurationEx 将提供存储微型端口适配器配置参数的注册表位置的句柄。 微型端口驱动程序可以将配置句柄传递给 NdisReadNetworkAddress 函数,以检索可由软件和本地管理的网络地址信息。 微型端口驱动程序可以使用配置句柄,直到 NDIS 停止微型端口适配器并返回 MiniportHaltEx 函数。

如果驱动程序通过调用 NdisHandle 获取了句柄 NdisRegisterProtocolDriver 函数 NdisOpenConfigurationEx 提供协议驱动程序配置参数存储的注册表位置的句柄。 协议驱动程序可以使用配置句柄,直到调用 NdisDeregisterProtocolDriver 函数。

如果 NdisHandle 中的句柄是指向 NDIS 在 ProtocolBindAdapterEx 函数的 BindParameters 参数传递的NDIS_BIND_PARAMETERS结构的指针,NdisOpenConfigurationEx 将为存储协议绑定的配置参数的注册表位置提供句柄。 协议驱动程序可以使用配置句柄,直到绑定操作完成。

如果驱动程序通过调用 NdisOpenAdapterEx 函数获取了 NdisHandle 中的句柄,则 NdisOpenConfigurationEx 将为存储协议绑定的配置参数的注册表位置提供句柄。 协议驱动程序可以使用配置句柄,直到调用 NdisCloseAdapterEx 函数。

如果筛选器驱动程序通过调用 NdisHandle 获取了句柄 NdisFRegisterFilterDriver 函数 NdisOpenConfigurationEx 为存储筛选器驱动程序配置参数的注册表位置提供句柄。 筛选器驱动程序可以使用配置句柄,直到它们调用 NdisFDeregisterFilterDriver 函数。

如果筛选器驱动程序从 FilterAttach 函数的 NdisFilterHandle 参数获取了 NdisHandle 中的句柄,则 NdisOpenConfigurationEx 为存储筛选器模块配置参数的注册表位置提供句柄。 筛选器驱动程序可以使用配置句柄,直到 NDIS 分离筛选器模块并返回 FilterDetach 函数。 如果监视筛选器驱动程序在 标志 成员中指定NDIS_CONFIG_FLAG_FILTER_INSTANCE_CONFIGURATION标志 NDIS_CONFIGURATION_OBJECT 结构,当有多个筛选器模块通过同一微型端口适配器配置时,驱动程序可以访问特定筛选器模块的筛选器模块配置。 修改筛选器驱动程序不得使用此标志。

驱动程序访问配置信息后,驱动程序必须调用 NdisCloseConfiguration 函数来释放配置句柄和相关资源。

注意 若要确保此函数在 IRQL = PASSIVE_LEVEL运行,驱动程序可以计划 NDIS 工作项,并在工作项回调的上下文中调用此和其他配置函数。
 

要求

   
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library 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