NdisWriteConfiguration 函数 (ndis.h)

NdisWriteConfiguration 函数将指定条目的调用方提供的值写入注册表。 必须针对自身和 NdisReadConfiguration 函数以串行方式调用此函数。

语法

void NdisWriteConfiguration(
  [out] PNDIS_STATUS                  Status,
  [in]  NDIS_HANDLE                   ConfigurationHandle,
  [in]  PNDIS_STRING                  Keyword,
  [in]  PNDIS_CONFIGURATION_PARAMETER ParameterValue
);

参数

[out] Status

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

NDIS_STATUS_SUCCESS

ParameterValue 中提供的值已写入注册表。 如果这是一个新条目, 则 Keyword 中的名称也会写入注册表中。

NDIS_STATUS_NOT_SUPPORTED

提供的 ParameterType 无效。

NDIS_STATUS_RESOURCES

NDIS 无法分配资源(通常有足够的内存)将请求的信息传输到注册表。

NDIS_STATUS_FAILURE

无法写入请求的信息。

[in] ConfigurationHandle

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

[in] Keyword

指向NDIS_STRING类型的指针,该类型描述系统默认字符集中调用方提供的计数字符串,指定要为其写入值的条目的名称。 对于 Microsoft Windows 2000 及更高版本的驱动程序,此字符串包含 Unicode 字符。 也就是说,对于 Windows 2000 及更高版本,NDIS 将NDIS_STRING类型定义为 UNICODE_STRING 类型。

[in] ParameterValue

指向调用方提供的指针 NDIS_CONFIGURATION_PARAMETER 结构。

返回值

备注

如果打开的注册表项下已存在与 Keyword 同名的条目, 则 NdisWriteConfiguration 会将其当前值替换为调用方提供的值。 否则, NdisWriteConfiguration 会将具有给定名称和提供值的新值条目添加到注册表。

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

NdisWriteConfiguration 缓冲并复制调用方在 Keyword 处提供的字符串以及在 ParameterValue 中指定的调用方提供的数据。 当驱动程序使用 NdisCloseConfiguration 函数释放 ConfigurationHandle 时,将释放此内存。 NdisWriteConfiguration 的调用方负责释放 Keyword 处的缓冲字符串以及为 分配的内存 NDIS_CONFIGURATION_PARAMETER 结构。

作为调用 NdisWriteConfiguration 的替代方法,每个 NDIS 驱动程序都可以使用驱动程序 INF 文件中的 AddReg 指令在注册表中为自己设置配置信息。

有关 Windows 2000 及更高版本的安装程序和安装文件的详细信息,请参阅 设备安装概述

要求

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

另请参阅

ANSI_STRING

MiniportInitializeEx

NDIS_CONFIGURATION_PARAMETER

NdisAnsiStringToUnicodeString

NdisCloseConfiguration

NdisFreeMemory

NdisFreeString

NdisInitAnsiString

NdisInitUnicodeString

NdisInitializeString

NdisOpenConfigurationEx

NdisOpenConfigurationKeyByIndex NdisOpenConfigurationKeyByName

NdisReadConfiguration

NdisUnicodeStringToAnsiString

UNICODE_STRING