IPrintWriteStreamFlush ::FlushData, méthode (filterpipeline.h)
La méthode FlushData vide les données mises en mémoire tampon dans un flux de données tout en laissant le flux ouvert, ce qui permet à l’appelant d’écrire des données supplémentaires dans le flux. L’écriture dans le flux est effectuée à l’aide de la méthode IPrintWriteStream ::WriteBytes.
Syntaxe
HRESULT FlushData();
Valeur de retour
La méthode FlushData retourne une valeur HRESULT.
Remarques
Seul le dernier filtre du pipeline de filtre d’impression bénéficie du vidage. Les données sont vidées sur le moniteur de port. Toutefois, le moniteur de port a la possibilité d’utiliser des mémoires tampons.
Exemples
L’extrait de code suivant montre comment vider les données dans un flux de données. Notez que la vérification des erreurs a été omise pour plus de clarté.
// 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();
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | filterpipeline.h |