次の方法で共有


CPullPin::Connect

Connect メソッドは、出力ピンへの接続を完了する。

構文

  HRESULT Connect(
    IUnknown *pUnk,
    IMemAllocator *pAlloc,
    BOOL bSync
);

パラメータ

pUnk

出力ピンの IUnknown インターフェイスへのポインタ。

pAlloc

ビデオ レンダラの入力ピンの IMemAllocator インターフェイスへのポインタ、または NULL。

bSync

同期読み取りを使うかどうかを指定するブール値。TRUE の場合、ピンは出力ピンの同期読み取り操作を実行する。FALSE の場合、ピンは非同期読み取り要求を行う。

戻り値

HRESULT を返す。次のいずれかの値を返す。

戻りコード 説明
S_OK 成功。
VFW_E_ALREADY_CONNECTED 入力ピンが既に接続されている。
E_NOINTERFACE 出力ピンが IAsyncReader を公開していない。

注意

入力ピンの接続処理中にこのメソッドを呼び出す。メソッドが失敗した場合、ピンの接続は失敗する。

このメソッドは出力ピンに IAsyncReader インターフェイスを問い合わせる。成功した場合、CPullPin::DecideAllocator を呼び出して接続のアロケータをネゴシエートする。入力ピンに優先アロケータがある場合は、pAlloc パラメータに指定する。DecideAllocator メソッドはこのポインタを出力ピンの IAsyncReader::RequestAllocator メソッドに渡す。それ以外の場合、pAlloc には NULL を設定する。

bSync の値が TRUE の場合、CPullPin オブジェクトは出力ピンの IAsyncReader::SyncReadAligned を呼び出して同期読み取り要求を行う。それ以外の場合は IAsyncReader::Request メソッドを呼び出して、重なり合う読み取り要求を行う。

参照