IMFExtendedCameraControl::SetFlags 方法 (mfidl.h)

设置捕获设备上的属性的标志。

语法

HRESULT SetFlags(
  ULONGLONG ulFlags
);

parameters

ulFlags

到属性标志的 ULONGLONG 映射。 支持的属性和标志在 ksmedia.h 中定义的头文件中定义为具有命名约定 的常量KSCAMERA_EXTENDEDPROP_。 有关详细信息,请参阅 KSPROPERTYSETID_ExtendedCameraControl

返回值

如果成功,则返回 S_OK。

注解

设置属性标志之前,可以通过调用 IMFExtendedCameraControl::GetCapabilities 来检查支持的功能。 以下示例演示了对 KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON 功能的查询支持。

if (FAILED(m_cameraController->GetExtendedCameraControl(MF_CAPTURE_ENGINE_MEDIASOURCE,
    KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE,
    cameraControl.put())))
{
    // Return false to indicate that the Torch Mode control is not available.
    return false;
}

ULONGLONG capabilities = cameraControl->GetCapabilities();

// Check if the torch can be turned on.
if (capabilities & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON)
{
    // Check if the torch is off.
    if ((cameraControl->GetFlags() & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON) == 0)
    {
        // Torch is off. Tell the camera to turn it on.
        check_hresult(cameraControl->SetFlags(KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON));
        // Write the changed settings to the driver.
        check_hresult(cameraControl->CommitSettings());
    }
}

要求

   
最低受支持的客户端 Windows 10内部版本 20348
最低受支持的服务器 Windows 10内部版本 20348
标头 mfidl.h