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 メソッドを呼び出して、重なり合う読み取り要求を行う。
参照