DD_DXAPI_OPENVPCAPTUREDEVICE控制代码
视频捕获驱动程序在 DxApi 函数的 dwFunctionNum 参数中传递DD_DXAPI_OPENVPCAPTUREDEVICE,以打开用于视频捕获的设备。
输入参数
- lpvInBuffer
指向 包含捕获所需的相关 VPE 对象信息的 DDOPENVPCAPTUREDEVICEIN 结构的指针。
输出参数
- lpvOutBuffer
指向 包含新捕获句柄的 DDOPENVPCAPTUREDEVICEOUT 结构的指针。
注解
VPE 捕获设备允许将硬件视频端口数据从图面自动总线到指定的缓冲区。 打开捕获设备可确定要捕获哪些行。 例如,对于 VBI,捕获驱动程序可能只对前 21 行感兴趣。 如果捕获驱动程序想要将不同的区域捕获到不同的缓冲区(例如,将 VBI 和视频捕获到单独的缓冲区),则可以创建多个捕获设备。
创建捕获设备时,内核模式视频传输会为每个设备创建队列。 驱动程序稍后可将缓冲区添加到此队列。 每次发生硬件视频端口 V 同步时,内核模式视频传输会自动从帧缓冲区图面启动正确的总线主控形状,最近由硬件视频端口填充到队列中的缓冲区。 如果不想在每个字段中捕获,可以通过将 DDOPENVPCAPTUREDEVICEIN 的 dwCaptureEveryNFields 成员设置为 1 以外的内容来指示这一点。
DDOPENVPCAPTUREDEVICEIN 的 hDirectDraw 和 hVideoPort 成员指定要从中捕获的 DirectDraw 对象和 VPE 对象。 dwStartLine 和 dwEndLine 成员指示要捕获哪些行。 dwStartLine 成员相对于图面的开头(0 是第一行),dwEndLine 是包容性的(将 dwStartLine 和 dwEndLine 设置为 0 会导致捕获第一行)。
驱动程序还必须指定一个回调,当捕获设备由于在用户模式下释放 VPE 对象而不可用时调用。 DDOPENVPCAPTUREDEVICEIN 的 pContext 成员包含一个在调用 pfnCaptureClose 回调函数时传递的值。
如果 DDOPENVPCAPTUREDEVICEOUT 的 ddRVal 成员设置为DD_OK,则此函数标识符的输出是新的 DirectDraw 捕获句柄。 此新句柄必须在引用此捕获设备的所有后续调用上使用。
只能从PASSIVE_LEVEL调用此函数标识符。
要求
头文件: Ddkmapi.h (包括 Ddkmapi.h)
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈