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
仅当旧的 (pre-NDIS 6.0) 驱动程序时,才能执行以下作:
  • NdisProcessorMips
  • NdisProcessorPpc
NdisVersion 0xMMMMmmmm,其中 MMMM 是主要版本,mmmm 是次要版本号。 例如,0x00050000指示系统支持的最高 NDIS 版本是主要版本 5(次要版本 0)。

[in] ParameterType

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

返回值

没有

言论

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

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

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

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

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

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

要求

要求 价值
最低支持的客户端 Windows Vista 中支持 NDIS 6.0 和 NDIS 5.1 驱动程序(请参阅 NdisReadConfiguration (NDIS 5.1)。 Windows XP 中支持 NDIS 5.1 驱动程序(请参阅 NdisReadConfiguration (NDIS 5.1)。
目标平台 普遍
标头 ndis.h (包括 Ndis.h)
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