IAMExtTransport::GetStatus メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは GetStatus
、トランスポートの状態に関する情報を返します。
構文
HRESULT GetStatus(
[in] long StatusItem,
[in, out] long *pValue
);
パラメーター
[in] StatusItem
取得する状態情報を指定します。 詳細については、「解説」を参照してください。
[in, out] pValue
長整数を指定または受け取る変数へのポインター。その意味は StatusItem の値に依存します。 詳細については、「解説」を参照してください。
戻り値
このメソッドが成功すると、S_OKが返されます。 それ以外の場合は、 HRESULT エラー コードが返されます。
注釈
StatusItem パラメーターは、取得する状態情報を指定するフラグです。 メソッドは 、pValue パラメーターの情報を返します。 すべてのデバイスですべての状態フラグがサポートされているわけではありません。 次のフラグが定義されています。
- ED_MODE: 一時停止や再生など、現在のトランスポート モードを返します。 トランスポート モードを定義する定数の一覧については、「 IAMExtTransport::p ut_Mode 」を参照してください。 別の方法として、 StatusItem をこれらの定数のいずれかに設定できます。トランスポートが現在そのモードの場合は pValue が値 OATRUE を受け取り、それ以外の場合は OAFALSE を受け取ります。
- ED_MEDIA_TYPE: このトランスポートのメディアの形式を示します。 次のいずれかの定数を返します。
常時 説明 ED_MEDIA_VHS Vhs ED_MEDIA_SVHS S-VHS ED_MEDIA_HI8 Hi-8 ED_MEDIA_UMATIC Umatic ED_MEDIA_DVC DV テープ (DVC) ED_MEDIA_1_INCH 1インチテープ ED_MEDIA_D1 D1 形式 ED_MEDIA_D2 D2 形式 ED_MEDIA_D3 D3 形式 ED_MEDIA_D5 D5 形式 ED_MEDIA_DBETA Digital Betacam ED_MEDIA_BETA Betacam ED_MEDIA_8MM 8 ミリメートル ED_MEDIA_DDR デジタル ディスク レコーダー ED_MEDIA_SX Betacam SX ED_MEDIA_OTHER その他 ED_MEDIA_CLV CLV (一定の線形速度、または "標準再生") レーザーディスク ED_MEDIA_CAV CAV (一定Angular速度、または "拡張再生") レーザーディスク - ED_LINK_MODE: トランスポートのコントロールがフィルター グラフの Run、 Stop、 Pause メソッドにリンクされている場合は OATRUE を返し、それ以外の場合は OAFALSE を返します。 詳細については、「 IAMExtTransport::p ut_Mode 」を参照してください。
- ED_MEDIA_PRESENT: トランスポートのメディアが存在する場合は OATRUE を返し、それ以外の場合は OAFALSE を返します。
- ED_MEDIA_LENGTH: メディアの長さを現在の時刻形式の単位で返します ( 「IAMExtTransport::SetTransportBasicParameters」を参照)。
- ED_MEDIA_TRACK_COUNT: トラック数を返します。
- ED_MEDIA_TRACK_LENGTH: 現在の時刻形式の単位でトラックの長さを返します。
- ED_MEDIA_SIDE: メディアのどの側がアクティブであるかを示します。
常時 | 説明 |
---|---|
ED_MODE_PLAY_SLOW_FWD_X | 未指定のスローフォワードを再生します。 (ベンダー固有の速度での低速再生)。 |
ED_MODE_PLAY_FAST_FWD_X | 未指定の早送りを再生します。 (ベンダー固有の速度で早送り再生)。 |
ED_MODE_PLAY_SLOW_REV_X | 指定されていない遅い逆を再生します。 (ベンダー固有の速度での低速反転再生)。 |
ED_MODE_PLAY_FAST_REV_X | 未指定の高速反転を再生します。 (ベンダー固有の速度で高速反転再生)。 |
ED_MODE_STOP_START | トランスポートは、テープ (またはその他のトランスポート メディア) の先頭で停止されます。 |
ED_MODE_STOP_END | トランスポートは、テープの末尾 (またはその他のトランスポート メディア) で停止されます。 |
ED_MODE_STOP_EMERGENCY | 予期しない状態のため、またはトランスポートの損傷を回避するために、トランスポートが停止しました。 |
これらの定数を使用するには、Windows SDKのヘッダー ファイル Xprtdefs.h を含めます。
DV の実装
MSDV では、次の状態フラグがサポートされています。
- ED_MODE: 前の解説を参照してください。
- ED_MEDIA_TYPE: 次のいずれかの値を返します。
常時 説明 ED_MEDIA_VHS VHS テープ。 ED_MEDIA_DVC DV テープ。 ED_MEDIA_UNKNOWN 不明な型です。 ED_MEDIA_NOT_PRESENT トランスポートが空です。 - ED_DEV_REMOVED_HEVENT_GET。 イベントへのハンドルを返します。 デバイスがシステムから物理的に削除された場合、ドライバーはイベントを通知します。
- ED_DEV_REMOVED_HEVENT_RELEASE。 ED_DEV_REMOVED_HEVENT_GET フラグを使用して取得したイベント ハンドルを解放します。 pValue パラメーターでハンドルのアドレスを指定します。
- ED_MODE_CHANGE_NOTIFY。 pValue のデバイスの状態を返します。 メソッドが E_PENDINGを返す場合、状態の変更は保留中です。 ED_NOTIFY_HEVENT_GET フラグを使用すると、状態の変更が完了したときに通知を受け取ることができます。
- ED_NOTIFY_HEVENT_GET。 イベントへのハンドルを返します。 ドライバーは、デバイスがモードの変更を完了したときにイベントを通知します。
- ED_NOTIFY_HEVENT_RELEASE。 ED_NOTIFY_HEVENT_GET フラグを使用して取得したイベント ハンドルを解放します。 pValue パラメーターでハンドルのアドレスを指定します。
MPEG ビデオカメラの実装
MSTape では、ED_MEDIA_TYPE フラグの追加のメディア形式がサポートされています。
常時 | 説明 |
---|---|
ED_MEDIA_NEO | MPEG-2 トランスポート ストリーム (D-VHS) 用のミニ デジタル テープ。 |
これらのフラグの一部は、ヘッダー ファイル Xptrdefs.h で定義されています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |