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
指向调用方提供的变量的指针,在此变量中,此函数将调用的状态作为以下值之一返回。
值 | 含义 |
---|---|
|
ParameterValue 处的缓冲区包含返回的配置信息。 |
|
NDIS 无法分配资源(通常是足够的内存)来返回请求的信息。 |
|
在 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 |
|
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) |