次の方法で共有


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

[DirectShowこのページに関連付けられている機能は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundationのオーディオ/ビデオ キャプチャ 置き換わりました。 これらの機能は、Windows 10 および Windows 11 用に最適化されています。 新しいコードでは、可能な場合は、DirectShowではなく、Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture 使用することを強くお勧めします。 従来の 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 Video keyer
ED_DEVTYPE_LASERDISK Laserdisc
ED_DEVTYPE_MIXER_AUDIO オーディオ ミキサー
ED_DEVTYPE_MIXER_VIDEO ビデオ ミキサー
ED_DEVTYPE_ROUTER ビデオ ルーター
ED_DEVTYPE_TBC Timebase corrector
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 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 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー strmif.h (Dshow.h を含む)
ライブラリ Strmiids.lib

関連項目

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

IAMExtDevice インターフェイス の