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 值名称,并在必要时创建它。 然后,VideoPortSetRegistryParameters 将 ValueData 参数的内容复制到注册表。 ValueName 参数中指定的路径可以引用适配器密钥以下任意级别的值名称,但此函数的行为实质上是相同的。 如果在任何时候找不到子项或值名称,则会自动创建该子项或值名称。
在 Windows 2000 及更高版本中,如果 ValueName 参数中传递的字符串以“DefaultSettings”开头,则 VideoPortSetRegistryParameters 将返回ERROR_INVALID_PARAMETER。 (请注意,句点是字符串) 的一部分。 在早于 Windows 2000 的操作系统中,视频微型端口驱动程序可以传递以“DefaultSettings”开头的值名称来指定监视器的默认分辨率,但在 Windows 2000 及更高版本中不需要该功能。
在任何版本的操作系统的已检查版本中,以“DefaultSettings.”开头的值名称会导致断言失败。
无法从微型端口驱动程序的 HwVidInterrupt 或 HwVidTimer 函数、VideoPortQueueDpc 或从 VideoPortSynchronizeExecution 回调调用 VideoPortSetRegistryParameters。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 桌面 |
标头 | video.h (包括 Video.h) |
Library | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |