IGraphConfig::P ushThroughData メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは PushThroughData
、フィルター グラフを介して指定されたピンにデータをプッシュします。
構文
HRESULT PushThroughData(
[in] IPin *pOutputPin,
[in] IPinConnection *pConnection,
[in] HANDLE hEventAbort
);
パラメーター
[in] pOutputPin
フィルター グラフ内の出力ピンの IPin インターフェイスへのポインター。
[in] pConnection
フィルター グラフ内の入力ピンの IPinConnection インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。
[in] hEventAbort
イベントに対するハンドル。 呼び出し元がデータ処理スレッドのいずれかでを呼び出すフィルターの場合、このパラメーターは、フィルターが停止状態になったときに通知されるイベントのハンドルである必要があります。 それ以外の場合、このパラメーターは NULL にすることができます。 詳細については、「解説」を参照してください。
戻り値
成功した場合はS_OKを返します。 それ以外の場合は、次の値のいずれかであるか、一覧にないエラー コードが返されます。
リターン コード | 説明 |
---|---|
|
必要なメモリを割り当てませんでした。 |
|
候補入力ピンが見つかりませんでした。 |
|
操作中にフィルター状態が変更されました。 |
解説
このメソッドは、指定された出力ピンから指定された入力ピンに、保留中のデータをプッシュします。 必要に応じて、入力ピンを指定せず、メソッドでフィルター グラフを検索して最適な候補を探すことができます。 データをプッシュしているスレッドからこのメソッドを呼び出さないでください。
フィルターが独自のデータ処理スレッドのいずれかでこのメソッドを呼び出すと、デッドロックの可能性が生じます。 メソッドはフィルター グラフのロックを取得します。これにより、 IMediaFilter::Stop の呼び出しの受信時にフィルターが停止するのをブロックできます。 この状況を防ぐために、 メソッドはフィルターによって提供されるイベント オブジェクトへのハンドルを受け取ります。 フィルターは、 Stop メソッドの呼び出しを受け取った場合にイベントを通知する必要があります。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |