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 |