NdisReadConfiguration 函数 (ndis.h)

给定打开的注册表项的句柄, NdisReadConfiguration 函数从注册表返回指定类型的命名条目的值。 必须针对自身和 NdisWriteConfiguration 函数以串行方式调用此函数。

语法

void NdisReadConfiguration(
  [out] PNDIS_STATUS                  Status,
  [out] PNDIS_CONFIGURATION_PARAMETER *ParameterValue,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  NDIS_PARAMETER_TYPE           ParameterType
);

参数

[out] Status

指向调用方提供的变量的指针,在此变量中,此函数将调用的状态作为以下值之一返回。

含义
NDIS_STATUS_SUCCESS
ParameterValue 处的缓冲区包含返回的配置信息。
NDIS_STATUS_RESOURCES
NDIS 无法分配资源(通常是足够的内存)来返回请求的信息。
NDIS_STATUS_FAILURE
ConfigurationHandle 指定的打开的注册表项下找不到请求的信息。

[out] ParameterValue

指向内存位置的指针,其中 NDIS 提供指向 的指针如果成功调用 NdisReadConfiguration,NDIS_CONFIGURATION_PARAMETER 结构。 NDIS 为 NDIS_CONFIGURATION_PARAMETER 结构。

[in] ConfigurationHandle

NdisOpenConfigurationEx 返回的注册表项的句柄, NdisOpenConfigurationKeyByIndex,或 NdisOpenConfigurationKeyByName 函数。

[in] Keyword

指向调用方提供的NDIS_STRING类型的指针,该类型描述系统默认字符集中的计数字符串,指定要为其返回值的打开注册表项下的条目的名称。

或者,指向调用方提供的指针NDIS_STRING_CONSTANT指定以下预定义条目名称之一以及预定义的返回值:

预定义条目名称 预定义的返回值
ProcessorType
  • NdisProcessorX86
  • NdisProcessorAmd64
  • NdisProcessorIA64
  • NdisProcessorAlpha
仅当旧 (NDIS 6.0 之前的驱动程序) 时,才可能执行以下操作:
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm,其中 MMMM 为主版本, mmmm 为次要版本号。 例如,0x00050000表示系统支持的最高 NDIS 版本是主版本 5,次要版本 0。

[in] ParameterType

指定为 NDIS_PARAMETER_TYPE 枚举值之一的值条目的类型。 Windows NT 及更高版本中忽略此参数。

返回值

备注

在 Windows 2000 及更高版本的配置注册表中,NDIS 关键字 (keyword) 值条目名称的同义词。 此类名称是 Unicode 字符的计数序列,以 NULL 结尾。

每个 NDIS 驱动程序都可以在其 INF 文件中使用 AddReg 指令在注册表中为自己设置配置信息。 例如,协议驱动程序可能会将其自己的名称存储为具有预格式化字符串值的条目,该字符串值可在调用中传递 NdisRegisterProtocolDriver 函数。 有关详细信息,请参阅 网络 INF 文件中的 Add-registry-sections

每个微型端口驱动程序在注册表中也有关联的值条目。 任何特定微型端口驱动程序的值条目在本质上都可能依赖于设备。 例如,微型端口驱动程序可能具有 *FlowControl、*SpeedDuplex 和 *InterruptModeration 等关键字。 与此类 NDIS 关键字 (keyword) 关联的值可以是 ULONG 类型) (整数,也可以是字符串 (NDIS_STRING 类型) 。 例如,已提到的 *FlowControl 条目的可能值集可能是 NdisParameterInteger 值 0、1、2 或 3,或者十六进制值与 NdisParameterHexInteger 值等效。

NdisReadConfiguration 在 Keyword 处缓冲并复制调用方提供的字符串,并在将控制权返回给调用方之前释放它为此副本分配的存储。 它为 驱动程序使用 NdisCloseConfiguration 函数释放 ConfigurationHandle 时,将释放NDIS_CONFIGURATION_PARAMETER结构。 NdisReadConfiguration 的调用方负责释放 Keyword 处的缓冲字符串。

请注意,NDIS 不会验证驱动程序从注册表读取的值。 因此 ,NdisReadConfiguration 的调用方不得对此类值做出任何假设,并且必须验证从注册表读取的每个值。 如果调用方确定某个值超出边界,则应改用默认值。

有关安装和安装文件的详细信息,请参阅 设备安装概述

要求

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

另请参阅

ANSI_STRING

NDIS_CONFIGURATION_PARAMETER

NDIS_PARAMETER_TYPE

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadNetworkAddress

NdisUnicodeStringToAnsiString

NdisWriteConfiguration

UNICODE_STRING