IPrintWriteStreamFlush::FlushData 方法 (filterpipeline.h)

FlushData 方法将缓冲的数据刷新到数据流,同时使流保持打开状态,从而允许调用方将其他数据写入流。 使用 IPrintWriteStream::WriteBytes 方法写入流。

语法

HRESULT FlushData();

返回值

FlushData 方法返回 HRESULT 值。

注解

只有打印筛选器管道中的最后一个筛选器受益于刷新。 数据将刷新到端口监视器。 但是,端口监视器可以选择使用缓冲区。

示例

以下代码片段演示如何将数据刷新到数据流。 请注意,为清楚起见,省略了错误检查。

// Flushing data to a data stream
// ------------------------------
// Declare a pointer to an IPrintWriteStreamFlush interface
IPrintWriteStreamFlush *pIFlush;

// Retrieve a pointer to an IPrintWriteStream interface
// by using the RequestWriter() method in InitializeFilter()
IPrintWriteStream      *pIWrite;

HRESULT hr = pIWrite->QueryInterface(IID_IPrintWriteStreamFlush, reinterpret_cast<void **>(&pIFlush));

hr = pIWrite->WriteBytes(buf, cb, &cbWritten);

hr = pIFlush->FlushData();

要求

要求
目标平台 桌面
标头 filterpipeline.h

另请参阅

IPrintWriteStream::WriteBytes

IPrintWriteStreamFlush