Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[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 Alloc
-Methode ordnet Arbeitsspeicher für die Puffer zu.
Syntax
virtual HRESULT Alloc();
Parameter
Diese Methode hat keine Parameter.
Rückgabewert
Gibt einen der folgenden HRESULT-Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Die Pufferanforderungen haben sich nicht geändert. |
|
Die Pufferanforderungen haben sich geändert. |
|
Pufferanforderungen wurden nicht festgelegt. |
Bemerkungen
Diese Methode wird von der CBaseAllocator::Commit-Methode aufgerufen.
In der Basisklasse ordnet diese Methode keinen Arbeitsspeicher zu. Es wird ein Fehler zurückgegeben, 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 Speicherbelegung auszuführen. In der Regel führt die abgeleitete Klasse die folgenden Schritte aus:
- Rufen Sie die Basisklassenimplementierung auf, um zu bestimmen, ob der Arbeitsspeicher wirklich zugewiesen werden muss.
- Zuordnen von Arbeitsspeicher.
- Erstellen Sie CMediaSample-Objekte , die Speicherblöcke aus Schritt 2 enthalten.
- Fügen Sie jedes CMediaSample-Objekt der Liste der kostenlosen Beispiele hinzu (CBaseAllocator::m_lFree).
Ein Beispiel finden Sie unter CMemAllocator::Alloc.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|