MFEnumDeviceSources関数でWebカメラなどのビデオキャプチャデバイスに対応したIMFActivateを取得した場合の
Get系関数で取得できる情報の内、意味がありそうなものを紹介します。
- デバイス名
- 出力フォーマット
- ハードウェアデバイスかどうか
- シンボリックリンク
key:MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME
取得関数: GetString() ,GetAllocatedString()
key:MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE
取得関数: GetBlob(),GetAllocatedBlob()
MFT_REGISTER_TYPE_INFO型(をバイト列に変換したもので、GUIDふたつのデータを含んでいる。
1つ目の値は常にMFMediaType_Videoで、
2つ目の値はフォーマットによって異なる。
返される可能性のあるGUIDはmfapi.hで宣言されているが、そのままでは扱いづらいので、
対応するenum型を自分で定義して手動で変換したほうがいいとおもいます。
key:MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE
取得関数:GetUINT32()
値がTRUEの時はハードウェアデバイスFALSEの時はソフトウェアデバイスらしい。
key:MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK
取得関数: GetString() ,GetAllocatedString()