CPullPin.Connect 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 Connect
完成与输出引脚的连接。
语法
HRESULT Connect(
IUnknown *pUnk,
IMemAllocator *pAlloc,
BOOL bSync
);
参数
-
pUnk
-
指向输出引脚的 IUnknown 接口的指针。
-
pAlloc
-
指向输入引脚首选分配 器的 IMemAllocator 接口的指针,或 NULL。
-
bSync
-
指定是否使用同步读取的布尔值。 如果 为 TRUE,则引脚对输出引脚执行同步读取操作。 如果 为 FALSE,则引脚发出异步读取请求。
返回值
返回 HRESULT。 可能的值包括以下值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
输入引脚已连接。 |
|
输出引脚不公开 IAsyncReader。 |
备注
在输入引脚的连接过程中调用此方法。 如果方法失败,则引脚应使连接失败。
此方法查询 IAsyncReader 接口的输出引脚。 如果成功,它将调用 CPullPin::D ecideAllocator 来协商连接的分配器。 如果输入引脚具有首选分配器,请在 pAlloc 参数中指定它; DecideAllocator 方法将此指针传递到输出引脚的 IAsyncReader::RequestAllocator 方法。 否则,请将 pAlloc 设置为 NULL。
如果 bSync 的值为 TRUE,则 CPullPin 对象通过调用输出引脚的 IAsyncReadEr::SyncReadAligned 发出同步读取请求。 否则,它会调用 IAsyncReader::Request 方法发出重叠的读取请求。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|