VideoPortSetRegistryParameters 函数 (video.h)

VideoPortSetRegistryParameters 函数在注册表中的适配器键下写入信息。

语法

VIDEOPORT_API VP_STATUS VideoPortSetRegistryParameters(
       PVOID HwDeviceExtension,
  [in] PWSTR ValueName,
  [in] PVOID ValueData,
       ULONG ValueLength
);

参数

HwDeviceExtension

指向微型端口驱动程序的设备扩展的指针。

[in] ValueName

指向缓冲区的指针,该缓冲区包含以 null 结尾的 Unicode 字符串,该字符串命名在注册表中写入数据的值项。

[in] ValueData

指向缓冲区的指针,该缓冲区包含要为 ValueName 条目写入的值。

ValueLength

指定要写入注册表的数据的大小(以字节为单位)。

返回值

如果给定的数据已成功写入注册表,VideoPortSetRegistryParameters 将返回NO_ERROR。 否则,它可以返回ERROR_INVALID_PARAMETER。

注解

VideoPortSetRegistryParameters 在注册表的 适配器 键下搜索 ValueName 参数中指定的值名称。 如果搜索的值名称不存在,此函数会自动创建它。 找到或创建值名称后, ValueData 参数的内容将复制到值名称中。

对于 Windows XP 及更高版本的操作系统, ValueName 参数中指定的值名称不需要与 适配器 密钥直接关联。 相反, ValueName 可以与路径包含 适配器 密钥的子项相关联。 如果 ValueName 字符串包含一个或多个反斜杠, 则 VideoPortSetRegistryParameters 将搜索或创建其值名称位于字符串末尾的子项。

例如,如果 ValueName 设置为字符串“SubKey1\Value1”,则此函数在注册表中的适配器键下搜索 SubKey1,如果 SubKey1 不存在,则创建 SubKey1。 然后,该函数搜索 Value1 值名称,并在必要时创建它。 然后,VideoPortSetRegistryParametersValueData 参数的内容复制到注册表。 ValueName 参数中指定的路径可以引用适配器密钥以下任意级别的值名称,但此函数的行为实质上是相同的。 如果在任何时候找不到子项或值名称,则会自动创建该子项或值名称。

在 Windows 2000 及更高版本中,如果 ValueName 参数中传递的字符串以“DefaultSettings”开头,则 VideoPortSetRegistryParameters 将返回ERROR_INVALID_PARAMETER。 (请注意,句点是字符串) 的一部分。 在早于 Windows 2000 的操作系统中,视频微型端口驱动程序可以传递以“DefaultSettings”开头的值名称来指定监视器的默认分辨率,但在 Windows 2000 及更高版本中不需要该功能。

在任何版本的操作系统的已检查版本中,以“DefaultSettings.”开头的值名称会导致断言失败。

无法从微型端口驱动程序的 HwVidInterruptHwVidTimer 函数、VideoPortQueueDpc 或从 VideoPortSynchronizeExecution 回调调用 VideoPortSetRegistryParameters

要求

要求
最低受支持的客户端 在 Windows 2000 及更高版本的 Windows 操作系统中可用。
目标平台 桌面
标头 video.h (包括 Video.h)
Library Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

另请参阅

HwVidFindAdapter

HwVidInitialize

VideoPortFlushRegistry

VideoPortGetRegistryParameters