Verwenden benutzerdefinierter Senken

Wenn Sie eine besondere Schreib notwendigkeit haben, können Sie eigene Writer-Senken erstellen. Der Writer verwaltet die one-way-Kommunikation mit einer Senke durch Aufrufe der Methoden von IWMWriterSink. Um Ihre eigene Senke zu erstellen, implementieren Sie die IWMWriterSink-Schnittstelle in einer Klasse in Ihrer Anwendung. Dieser Prozess ähnelt der Implementierung einer beliebigen anderen Rückrufschnittstelle, die von den Objekten des Windows Media Format SDK verwendet wird. Weitere Informationen zu Rückrufen finden Sie unter Verwenden der Rückrufmethoden.

Der in IWMWriterSink::OnHeader empfangene Puffer sollte an den Anfang der Datei geschrieben werden, und alle in OnDataUnit empfangenen Puffer sollten sequenziell geschrieben werden. OnHeader wird am Anfang aufgerufen, kann aber auch zu anderen Zeiten aufgerufen werden. Wenn dies der Ist-Zustand ist, sollten Sie nach Möglichkeit den ursprünglichen Header überschreiben. Wenn Ihre Anwendung dies aus irgendeinem Grund nicht tun kann, ignorieren Sie einfach die nachfolgenden OnHeader-Aufrufe.

Ihre benutzerdefinierte Senke sollte ihren Status an Ihre schreibende Anwendung übermitteln, indem sie Aufrufe an die IWMStatusCallback::OnStatus-Rückrufmethode übermittelt. Wenn Sie Ihre Senke als COM-Objekt implementieren, sollten Sie die IWMRegisterCallback-Schnittstelle verfügbar machen. Sie können jedoch die Adresse des OnStatus-Rückrufs an Ihre Senke übergeben und einen Kontext auf beliebige Weise festlegen.

Arbeiten mit Writer-Senken