CBaseAllocator.Alloc-Methode

Die Alloc -Methode weist Den Puffern Arbeitsspeicher zu.

Syntax

virtual HRESULT Alloc();

Parameter

Diese Methode hat keine Parameter.

Rückgabewert

Gibt einen der folgenden HRESULT-Werte zurück.

Rückgabecode Beschreibung
S _ FALSE
Die Pufferanforderungen wurden nicht geändert.
S _ OK
Die Pufferanforderungen haben sich geändert.
VFW _ E _ SIZENOTSET
Pufferanforderungen wurden nicht festgelegt.

Bemerkungen

Diese Methode wird von der CBaseAllocator::Commit-Methode aufgerufen.

In der Basisklasse weist diese Methode keinen Arbeitsspeicher zu. Sie gibt einen Fehler zurück, wenn die Pufferanforderungen nicht festgelegt wurden, S FALSE, wenn sich die Anforderungen nicht geändert haben, und S OK, wenn sich _ _ die Anforderungen geändert haben.

Eine abgeleitete Klasse sollte diese Methode überschreiben, um die tatsächliche Speicherzuweisung durchzuführen. In der Regel führt die abgeleitete Klasse die folgenden Schritte aus:

  1. Rufen Sie die Basisklassenimplementierung auf, um zu bestimmen, ob für den Arbeitsspeicher tatsächlich eine Zuweisung benötigt wird.
  2. Zuordnen von Arbeitsspeicher.
  3. Erstellen Sie CMediaSample-Objekte, die Speicherelemente aus Schritt 2 enthalten.
  4. Fügen Sie jedes CMediaSample-Objekt zur Liste der kostenlosen Beispiele hinzu (CBaseAllocator::m _ lFree).

Ein Beispiel finden Sie unter CMemAllocator::Alloc.

Requirements (Anforderungen)

Anforderung Wert
Header
Amfilter.h (include Streams.h)
Bibliothek
Strmbase.lib (Einzelhandels-Builds);
Strmbasd.lib (Debugbuilds)

Weitere Informationen

CBaseAllocator-Klasse