次の方法で共有


IAMExtDevice::GetCapability メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

メソッドは GetCapability 、外部デバイスの機能を取得します。

構文

HRESULT GetCapability(
  [in]  long   Capability,
  [out] long   *pValue,
  [out] double *pdblValue
);

パラメーター

[in] Capability

チェックする機能を指定します。 詳細については、「解説」を参照してください。

[out] pValue

長整数を受け取る変数へのポインター。 詳細については、「解説」を参照してください。

[out] pdblValue

double を受け取る変数へのポインター。 詳細については、「解説」を参照してください。

戻り値

このメソッドが成功すると、S_OKが返されます。 それ以外の場合は、 HRESULT エラー コードが返されます。

注釈

Capability パラメーターは、チェックする機能を指定するフラグです。 メソッドは、機能フラグに応じて、 pValue パラメーターまたは pdblValue パラメーターで結果を返します。

次のフラグの場合、メソッドは pValue パラメーターで値 OATRUE または OAFALSE を返します。 値 OATRUE は機能が存在することを示し、値 OAFALSE は存在しないことを示します。

機能フラグ 説明
ED_DEVCAP_AUDIO_INPUTS デバイスはオーディオ入力を受け入れます。
ED_DEVCAP_CAN_MONITOR_SOURCES デバイスは、現在選択されている入力に関係なく、監視対象の出力に任意の入力を送信できます。
ED_DEVCAP_CAN_PREVIEW デバイスはプレビューできます。
ED_DEVCAP_CAN_RECORD デバイスは記録できます。
ED_DEVCAP_CAN_RECORD_STROBE デバイスは記録をストロベできます。 この機能は、選択したトラックに記録できるマルチトラック デバイスに適用されます。
ED_DEVCAP_CAN_SAVE デバイスはデータを保存できます。
ED_DEVCAP_CTLTRK_READ デバイスは、コントロール トラックを読み取ることができます。
ED_DEVCAP_HAS_AUDIO デバイスにオーディオがあります。
ED_DEVCAP_HAS_VIDEO デバイスにはビデオがあります。
ED_DEVCAP_INDEX_READ デバイスはインデックス マークを読み取ることができます。
ED_DEVCAP_NEEDS_CALIBRATING デバイスの調整が必要です。 「IAMExtDevice::Calibrate」を参照してください。
ED_DEVCAP_TIMECODE_READ デバイスは SMPTE タイム コードを読み取ることができます。
ED_DEVCAP_TIMECODE_WRITE デバイスは SMPTE タイム コードを設定できます。
ED_DEVCAP_USES_FILES デバイスには、組み込みのファイル システムがあります。
ED_DEVCAP_VIDEO_INPUTS デバイスはビデオ入力を受け入れます。
 

次のフラグの場合、メソッドは pValue パラメーターで定義された定数を返します。

ED_DEVCAP_DEVICE_TYPE: デバイスの種類を返します。

返される定数 説明
ED_DEVTYPE_ATR オーディオ テープ レコーダー
ED_DEVTYPE_CG 文字ジェネレーター
ED_DEVTYPE_DDR デジタル ディスク レコーダー
ED_DEVTYPE_DVE デジタル ビデオ効果ユニット
ED_DEVTYPE_GPI 汎用インターフェイス トリガー
ED_DEVTYPE_KEYER ビデオ キーャー
ED_DEVTYPE_LASERDISK Laserdisc
ED_DEVTYPE_MIXER_AUDIO オーディオ ミキサー
ED_DEVTYPE_MIXER_VIDEO ビデオ ミキサー
ED_DEVTYPE_ROUTER ビデオ ルーター
ED_DEVTYPE_TBC タイムベースの修正機能
ED_DEVTYPE_TCG タイムコード ジェネレーター/リーダー
ED_DEVTYPE_VCR VCR、または完全な VCR 機能を備えたカムコーダー
ED_DEVTYPE_WIPEGEN ビデオ ワイプ ジェネレーター
ED_DEVTYPE_JOYSTICK ジョイスティック
ED_DEVTYPE_KEYBOARD キーボード
 

ED_DEVCAP_SYNC_ACCURACY: デバイスの同期精度を示す値を返します。

返される定数 説明
ED_SYNCACC_PRECISE デバイスは正確な精度を備えています。
ED_SYNCACC_FRAME デバイスはフレーム精度です。
ED_SYNCACC_ROUGH デバイスがフレーム精度より小さい。
 

ED_DEVCAP_NORMAL_RATE: デバイスの通常のフレーム レートを返します。

返される定数 説明
ED_RATE_24 1 秒あたり 24 フレーム (fps)
ED_RATE_25 25 fps
ED_RATE_2997 29.97 fps
ED_RATE_30 30 fps
 

ED_DEVCAP_SEEK_TYPE: デバイスのシーク精度を示す値を返します。

返される定数 説明
ED_SEEK_PERFECT デバイスは、信号を中断することなく、1 つのビデオ フレーム内でシークできます。
ED_SEEK_FAST デバイスは、信号の短い中断で、迅速にシークできます。
ED_SEEK_SLOW デバイスはゆっくりシークします。テープトランスポートなど。
 

次のフラグの場合、メソッドは pValue パラメーターの数値を返します。

機能フラグ 戻り値
ED_DEVCAP_EXTERNAL_DEVICE_ID 製造元固有の識別子。
ED_DEVCAP_PREROLL デバイスのプリロール時間。
ED_DEVCAP_POSTROLL デバイスのポストロール時間。
 

Windows XP Service Pack 2 以降では、ED_DEVCAP_DEVICE_TYPEに対して次の追加フラグがサポートされています。

返される定数 説明
ED_DEVTYPE_CAMERA_STORAGE 静止画像または短いビデオ ファイルのストレージ。
ED_DEVTYPE_DTV シリアル バス インターフェイスを備えたデジタル テレビ。
ED_DEVTYPE_PC_VIRTUAL コンピューター上の仮想またはエミュレートされたデバイス。
 

これらの定数を使用するには、ヘッダー ファイル Xprtdefs.h を含めます。

DV の実装

MSDV ドライバーと UVC ドライバーでは、次の動作がサポートされています。

ED_DEVCAP_NORMAL_RATE フラグはフレーム レートを返します。

返される定数 説明
ED_RATE_25 25 fps (既定の PAL フレーム レート)
ED_RATE_2997 29.997 fps (既定の NTSC フレーム レート)
 

MSDV の場合のみ、ED_DEVCAP_DEVICE_TYPE フラグはデバイスの種類を返します。 次の表に、使用可能な値を示します。 UVC デバイスの場合は、代わりに IKsTopologyInfo インターフェイスを使用します。

返される定数 説明
ED_DEVTYPE_CAMERA 記録または一時停止できるシンプルなカメラですが、完全な VCR 機能がありません。
ED_DEVTYPE_DVHS デバイスは D-VHS 形式をサポートしています。
ED_DEVTYPE_UNKNOWN デバイスの種類が不明です。
ED_DEVTYPE_VCR デバイスには完全な VCR 機能があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IAMExtDevice インターフェイス