Ajout de récepteurs à l’enregistreur
Les récepteurs writer sont des objets distincts de l’enregistreur et doivent être ajoutés au writer à utiliser. Si vous écrivez dans un fichier, vous pouvez simplement appeler IWMWriter::SetOutputFilename, ce qui configure automatiquement le récepteur de fichiers. Sinon, pour ajouter un récepteur au writer, appelez la méthode IWMWriterAdvanced::AddSink . AddSink nécessite un pointeur vers l’interface IWMWriterSink du récepteur.
Lorsque vous avez terminé d’utiliser un récepteur, vous devez le fermer en appelant la méthode appropriée, en fonction du type de récepteur, puis la supprimer de l’enregistreur en appelant IWMWriterAdvanced::RemoveSink.
L’exemple de code suivant montre comment créer un récepteur de fichier writer et l’ajouter au writer. Pour plus d’informations sur l’utilisation de ce code, consultez Utilisation des exemples de code.
HRESULT AddFileSink(IWMWriterFileSink** ppFileSink, IWMWriter* pWriter)
{
HRESULT hr = S_OK;
IWMWriterSink* pSinkBase = NULL;
IWMWriterAdvanced* pWriterAdvanced = NULL;
hr = CreateWriterFileSink(ppFileSink);
GOTO_EXIT_IF_FAILED(hr);
hr = *ppFileSink->QueryInterface(IID_IWMWriterSink,
(void**) &pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriter->QueryInterface(IID_IWMWriterAdvanced,
(void**) &pWriterAdvanced);
GOTO_EXIT_IF_FAILED(hr);
hr = pWriterAdvanced->AddSink(pSinkBase);
GOTO_EXIT_IF_FAILED(hr);
Exit:
SAFE_RELEASE(pSinkBase);
SAFE_RELEASE(pWriterAdvanced);
return hr;
}
Rubriques connexes
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour