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 函数返回。 如果监视筛选器驱动程序在 的 Flags 成员中指定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