オーディオまたはビデオキャプチャデバイスの一覧を列挙します。
構文
HRESULT MFEnumDeviceSources(
  __in   IMFAttributes *pAttributes,
  __out  IMFActivate ***pppSourceActivate,
  __out  UINT32 *pcSourceActivate
);

パラメーター
pAttributes [in]
 検索条件を含む属性ストアへのポインタ。属性ストアを作成するには、 MFCreateAttributesを呼び出します。次の属性の1つまたは複数の属性を設定します。
意味
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPEオーディオまたはビデオ デバイスを列挙するかどうかを指定します。(必須)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLEオーディオ キャプチャ デバイスは、デバイスの役割を指定します。(省略可能)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORYビデオ キャプチャ デバイスは、デバイスのカテゴリを指定します。(省略可能)
pppSourceActivate [out]
 IMFActivateインターフェイス ポインターの配列を受け取ります。各ポインタは、メディアソースのアクティベーションオブジェクトを表します。関数がメモリの配列を割り当てます。呼び出し元は、配列のポインターを解放し、配列のメモリを解放するために CoTaskMemFreeを呼び出す必要があります。
pcSourceActivate [out]
 pppSourceActivate配列の要素数を受け取ります。検索条件に一致するキャプチャデバイスがない場合は、このパラメーターは値 0 を受け取ります。
戻り値
成功したら、S_OKを、それ以外の場合はHRESULTのエラーコードを返す。
解説
返されたそれぞれのIMFActivateポインターはキャプチャデバイスを表します、またそれらはデバイスのメディアソースを作成するために使用されます。
デバイスを記述した属性クエリのIMFActivateポインターを使用することもできます。次の属性が設定する可能性があります。
属性説明
MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAMEデバイスの表示名
MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPEデバイスの出力形式について説明する主要なタイプとサブタイプ Guid
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPEキャプチャデバイス (オーディオまたはビデオデバイス)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_IDオーディオ エンドポイント ID 文字列(オーディオ デバイスのみ)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORYデバイスのカテゴリ(ビデオデバイスのみ)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCEデバイスがハードウェアまたはソフトウェア デバイスかどうか(ビデオ デバイスのみ)
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINKデバイスドライバー用のシンボリック リンク。(ビデオ デバイスのみ)

メディア ソースをIMFActivateポインターを作成するには、 IMFActivate::ActivateObjectメソッドを呼び出します。

Menu

XML

オープンソース

エンドツーエンド暗号化

プロジェクト管理

フォーラム

GitClient

ホスティング

開発手法

ドメイン駆動設計:DDD?

テスト駆動開発:TDD

ビヘイビア駆動開発:BDD

チケット駆動開発:TiDD

課題追跡システム:ITS(issue tracking system)
バグ追跡システム:BTS(bug tracking system)

ビルドツール

JavaScript

ビルドファイルを自動生成

設定ファイル

データシリアライズ

マルチフォーマット

継続的インテグレーション

オススメ

for Windows

その他

構成管理

テストツール

デプロイツール

仮想マシン構築

オーケストラレーション

仮想化ソフトウェア

クラスタリソースマネージャ

コンテナオーケストレーション

サービスメッシュ

Kubernetes

高可用性クラスタ/HAクラスタ

  • Pacemaker?

負荷分散/ロードバランス(Load Balancing)クラスタ

HPC(High Performance Computing)クラスタ

テスト

JavaScript,TypeScript

Living Documentation Generator

ドキュメント作成

reStructuredText

CommonMark

グラフドキュメント

問い合わせ言語

ファイルシステム

分散型Web

Web API作成補助ツール

パッケージ管理システム

Ruby

Chef

OCaml

Rust

Web Frontend

Node.js

Haxe

Microsoft .NET Framework

Mac OS X

Debian

Red Hat系

Gentoo Linux

Arch Linux

シーケンス図

フローチャート

ログイン

脆弱性関連情報

ツール

Web

Components

Template engine

CSS Preprocessor

Haxe
Node.js

JavaScript

MVVM系フレームワーク
比較
データバインディング

Websocket

GDPR対策

Cookie利用

Browser互換確認

Linux

コマンドラインシェル

Record your terminal session

Windows

コマンドラインシェル

メニューサンプル1

Microsoft Media Foundation

  • TopoEdit?

MFCaptureToFile

IMFSinkWriter?

IMFSourceReader?

OpenCV

webページ作成

デザイン

オンラインプログラミング

IDE

プログラミングに最適なフォント

アルゴリズム

コスト・マネジメント

スケジュール・コスト管理

  • EVM?

見積・請求書

デザインソフト

クラウドソーシング

コードバウンティ

管理人/副管理人のみ編集できます