Freigeben über


Verwenden von benutzerdefinierten Senken

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Wenn Sie einen besonderen Schreibbedarf haben, können Sie Ihre eigenen Schreibsenken erstellen. Der Writer behält die unidirektionale Kommunikation mit einer Senke bei, indem er die Methoden von IWMWriterSink aufruft. Um Eine eigene Senke zu erstellen, implementieren Sie die IWMWriterSink-Schnittstelle in einer Klasse in Ihrer Anwendung. Dieser Prozess ähnelt der Implementierung einer 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 ausgeschrieben werden. OnHeader wird am Anfang aufgerufen, kann aber auch zu anderen Zeiten aufgerufen werden, und wenn dies der Grund ist, sollten Sie den ursprünglichen Header nach Möglichkeit überschreiben. Wenn Ihre Anwendung dies aus irgendeinem Grund nicht tun kann, ignorieren Sie einfach die nachfolgenden OnHeader-Aufrufe .

Ihre benutzerdefinierte Senke sollte ihre status ihrer Schreibanwendung mitteilen, indem sie die IWMStatusCallback::OnStatus-Rückrufmethode aufruft. 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 in beliebiger Weise festlegen.

Arbeiten mit Writer-Senken