Freigeben über


IMemAllocator::D ecommit-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Die Decommit -Methode gibt den Pufferspeicher frei.

Syntax

HRESULT Decommit();

Rückgabewert

Gibt bei erfolgreicher Ausführung S_OK oder einen HRESULT-Wert zurück, der die Fehlerursache angibt.

Hinweise

Alle Threads, die in der IMemAllocator::GetBuffer-Methode warten, werden mit einem Fehler zurückgegeben. Weitere Aufrufe von GetBuffer schlagen fehl, bis die IMemAllocator::Commit-Methode aufgerufen wird.

Der Zweck der Decommit -Methode besteht darin, zu verhindern, dass Filter weitere Stichproben vom Allocator erhalten. Filter, die bereits eine Verweisanzahl für eine Stichprobe enthalten, sind nicht betroffen. Nachdem ein Filter ein Beispiel freigegeben hat und die Verweisanzahl auf 0 (null) steigt, ist das Beispiel jedoch nicht mehr verfügbar.

Der Zuweisungsgeber kann den Arbeitsspeicher, der zu einer beliebigen Stichprobe gehört, mit einer Verweisanzahl von 0 (null) freigeben. Daher "gibt" die Decommit Methode den Speicher in dem Sinne frei, dass Filter keinen Zugriff mehr darauf haben. Ob der Arbeitsspeicher tatsächlich zum Heap zurückkehrt, hängt von der Implementierung der Zuweisung ab. Einige Zuweisungen warten, bis ihre eigene Destruktormethode verwendet wird. Ein Zuweisungsobjekt darf jedoch keinen zugeordneten Arbeitsspeicher zurücklassen, wenn er sich selbst löscht. Daher muss der Destruktor eines Zuweisungsgebers warten, bis alle seine Proben freigegeben wurden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IMemAllocator-Schnittstelle