Método IPrintWriteStreamFlush::FlushData (filterpipeline.h)
O método FlushData libera dados armazenados em buffer em um fluxo de dados enquanto deixa o fluxo aberto, permitindo que o chamador escreva dados adicionais no fluxo. A gravação no fluxo é feita usando o método IPrintWriteStream::WriteBytes .
Sintaxe
HRESULT FlushData();
Retornar valor
O método FlushData retorna um valor HRESULT.
Comentários
Somente o último filtro no pipeline de filtro de impressão se beneficia da liberação. Os dados são liberados para o monitor de porta. No entanto, o monitor de porta tem a opção de usar buffers.
Exemplos
O snippet de código a seguir mostra como liberar dados para um fluxo de dados. Observe que a verificação de erros foi omitida para maior clareza.
// 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();
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | filterpipeline.h |