IPrintWriteStreamFlush::FlushData method (filterpipeline.h)
The FlushData method flushes buffered data to a data stream while leaving the stream open, allowing the caller to write additional data to the stream. Writing to the stream is done using the IPrintWriteStream::WriteBytes method.
Syntax
HRESULT FlushData();
Return value
The FlushData method returns an HRESULT value.
Remarks
Only the last filter in the print filter pipeline benefits from the flush. The data is flushed to the port monitor. However, the port monitor has the option of using buffers.
Examples
The following code snippet shows how to flush data to a data stream. Note that error checking has been omitted for clarity.
// 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();
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | filterpipeline.h |