IMFExtendedCameraControl::GetCapabilities メソッド (mfidl.h)
キャプチャ デバイスでサポートされているプロパティ機能のクエリ。
構文
ULONGLONG GetCapabilities();
戻り値
プロパティ機能への ULONGLONG マッピング。 サポートされているプロパティと機能は、ksmedia.h で定義されているヘッダー ファイルで定数として定義され、名前付け規則 KSCAMERA_EXTENDEDPROP_。 詳細については、「 KSPROPERTYSETID_ExtendedCameraControl」を参照してください。
注釈
この関数の戻り値を使用してビットごとの AND 操作を実行して、特定の機能が存在することを確認します。 一部のドライバーでは、サポートされているコントロールを決定する前に、カメラ デバイスのプレビューが実行中の状態であることが必要になる場合があります。 プレビュー ストリームを実行する前に特定のコントロールがサポートされているかどうかをチェックした場合、ビデオ デバイスでサポートされている場合でも、そのコントロールはサポートされていない (したがって使用できない) と記述される可能性があります。
次の例では、 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 |