Ajout de récepteurs à l’enregistreur

Les récepteurs d’écriture sont des objets distincts du writer et doivent être ajoutés au Writer pour être utilisés. Si vous écrivez dans un fichier, vous pouvez simplement appeler IWMWriter :: SetOutputFilename, ce qui permet de configurer automatiquement le récepteur de fichiers. Sinon, pour ajouter un récepteur au writer, appelez la méthode IWMWriterAdvanced :: AddSink . AddSink requiert 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 le supprimer du writer en appelant IWMWriterAdvanced :: RemoveSink.

L’exemple de code suivant montre comment créer un récepteur de fichiers d’écriture 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;
}

Obtention de messages d’erreur à partir d’un récepteur

Interface IWMWriterAdvanced

Utilisation des récepteurs d’écriture