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 关键字值条目名称的同义词。 此类名称是 Unicode 字符的计数序列,以 NULL 结尾。

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

每个微型端口驱动程序还具有注册表中的关联值条目。 任何特定微型端口驱动程序的值条目本质上都可以依赖于设备。 例如,微型端口驱动程序可能具有诸如 *FlowControl、*SpeedDuplex 和 *InterruptModeration 等关键字。 与此类 NDIS 关键字关联的值可以是整数 (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