IMFExtendedCameraControl::SetFlags メソッド (mfidl.h)

キャプチャ デバイス上のプロパティのフラグを設定します。

構文

HRESULT SetFlags(
  ULONGLONG ulFlags
);

パラメーター

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
Header mfidl.h