NdisOpenConfigurationKeyByIndex 函数 (ndis.h)

NdisOpenConfigurationKeyByIndex 函数打开由调用方提供的句柄指定的给定打开注册表项的子项。

语法

void NdisOpenConfigurationKeyByIndex(
  [out] PNDIS_STATUS Status,
  [in]  NDIS_HANDLE  ConfigurationHandle,
  [in]  ULONG        Index,
  [out] PNDIS_STRING KeyName,
  [out] PNDIS_HANDLE KeyHandle
);

参数

[out] Status

指向调用方提供的变量的指针,此函数在该变量中返回其尝试打开指定注册表项的状态。 可能的返回值为以下值之一:

NDIS_STATUS_SUCCESS

NDIS 已初始化由 KeyNameIndex 指定的子项。

NDIS_STATUS_FAILURE

无法打开密钥。

[in] ConfigurationHandle

要为其打开子项的注册表项的句柄。 通常, ConfigurationHandle NdisOpenConfigurationEx 函数。

[in] Index

要打开的子项的索引。 此从零开始的值指定要在已使用 ConfigurationHandle 打开的项下打开的子项。

[out] KeyName

指向NDIS_STRING类型的指针,该类型包含调用方提供的缓冲区,该缓冲区中此函数返回系统默认字符集中的计数字符串。 如果调用成功,此字符串指定打开的子项的名称。 对于 Microsoft Windows 2000 及更高版本的驱动程序,此字符串包含 Unicode 字符。 也就是说,对于 Windows 2000 及更高版本,NDIS 将NDIS_STRING类型定义为 UNICODE_STRING 类型。

[out] KeyHandle

指向调用方提供的变量的指针,如果调用成功,此函数将在该变量中返回打开的子项的句柄。

返回值

备注

NdisOpenConfigurationKeyByIndex 允许驱动程序访问其安装文件存储在注册表子项中的配置信息。

请注意,传递给 NdisOpenConfigurationKeyByIndexConfigurationHandle 可以是调用方已打开的注册表项的任何有效句柄。 NdisOpenConfigurationKeyByIndex 返回相对于任何有效子项的配置信息
ConfigurationHandle

由于 NdisOpenConfigurationKeyByIndex 通过索引引用子项,驱动程序不必指定子项名称。 驱动程序可以通过在递增索引后重复调用 NdisOpenConfigurationKeyIndex ,直到函数返回NDIS_STATUS_FAILURE,从而指示不再有要打开的子项,从而对一组注册表子项进行排序。

在驱动程序使用并可能修改注册表中存储的配置信息后,它必须调用 NdisCloseConfiguration 函数以释放从 NdisOpenConfigurationKeyByIndex 获取的句柄。 NdisCloseConfiguration 还会释放 NDIS 分配的任何临时存储,以便驱动程序使用 NdisOpenConfigurationKeyByIndex 返回的 SubKeyHandle 调用 NdisReadConfigurationNdisReadNetworkAddressNdisWriteConfiguration 函数。

要求

要求
最低受支持的客户端 NDIS 6.0 和 NDIS 5.1 驱动程序支持 (请参阅 Windows Vista 中的 NdisOpenConfigurationKeyByIndex (NDIS 5.1) ) 。 NDIS 5.1 驱动程序支持 (请参阅 Windows XP 中的 NdisOpenConfigurationKeyByIndex (NDIS 5.1) ) 。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL < DISPATCH_LEVEL
DDI 符合性规则 Irql_Miscellaneous_Function (ndis)

另请参阅

ANSI_STRING

MiniportInitializeEx

NdisCloseConfiguration

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisWriteConfiguration

ProtocolBindAdapterEx

UNICODE_STRING