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

Confira também

IPrintWriteStream::WriteBytes

IPrintWriteStreamFlush