IMFVirtualCamera::Start 方法 (mfvirtualcamera.h)

创建并注册虚拟相机。

语法

HRESULT Start(
  IMFAsyncCallback *pCallback
);

参数

pCallback

指向 IMFAsyncCallback 对象的可选指针,管道将使用该对象通知调用方虚拟相机的状态。 可以使用 IMFMediaEvent 调用回调(如果提供)。 调用时, IMFMediaEvent::GetType 方法将返回 MEExtendedTypeMEError。 如果返回 MEExtendedType,IMFMediaEvent::GetExtendedType 方法可能会返回以下事件类型之一:

扩展事件类型 说明
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_INITIALIZE 表示虚拟相机的自定义媒体源由应用程序初始化。
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_START 应用程序在虚拟相机的自定义媒体源上启动 (或流) 。
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_STOP 应用程序已停止虚拟相机的自定义媒体源上的所有流。
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_UNINITIALIZE 虚拟相机的自定义媒体源未初始化。
MF_FRAMESERVER_VCAMEVENT_EXTENDED_PIPELINE_SHUTDOWN 虚拟相机的管道已关闭。
MF_FRAMESERVER_VCAMEVENT_EXTENDED_CUSTOM_EVENT 虚拟相机的自定义媒体源生成了自定义事件。 IMFMediaEvent 的架构特定于供应商。

在 IMFVirtualCamera::Start 成功返回后,可以随时调用回调。

返回值

返回 HRESULT 值,包括但不限于以下值:

错误代码 说明
S_OK 已成功
E_INVALIDARG 输入参数无效。

注解

在成功调用 Start 方法之前, IMFVirtualCamera 表示虚拟相机配置信息,基础虚拟相机尚不存在 -除非 MFCreateVirtualCamera 重新打开现有的虚拟相机。 成功调用 Start 后,IMFVirtualCamera 继承自 的 IMFAttributes 将包含新创建的虚拟相机的符号链接名称MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK

如果使用与先前调用相同的参数调用 MFCreateVirtualCamera,并指定已通过成功调用 IMFVirtualCamera::Start 启动的 IMFVirtualCamera,则结果 IMFVirtualCamera 已处于有效状态,后续对 IMFVirtualCamera::Start 的调用可用于注册新的回调。

要求

要求
最低受支持的客户端 Windows 内部版本 22000
标头 mfvirtualcamera.h
Library mfsensorgroup.lib
DLL mfsensorgroup.dll

另请参阅

IMFAsyncCallback

IMFMediaEvent

MFCreateVirtualCamera