CBaseAllocator.SetProperties-Methode
[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 SetProperties
-Methode gibt die Anzahl der zuzuordnenden Puffer und die Größe der einzelnen Puffer an. Diese Methode implementiert die IMemAllocator::SetProperties-Methode .
Syntax
HRESULT SetProperties(
ALLOCATOR_PROPERTIES *pRequest,
ALLOCATOR_PROPERTIES *pActual
);
Parameter
-
pRequest
-
Zeiger auf eine ALLOCATOR_PROPERTIES Struktur, die die Pufferanforderungen enthält.
-
pActual
-
Zeiger auf eine ALLOCATOR_PROPERTIES-Struktur , die die tatsächlichen Puffereigenschaften empfängt.
Rückgabewert
Gibt einen der folgenden HRESULT-Werte zurück.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
NULL-Zeigerargument. |
|
Der zugeordnete Arbeitsspeicher kann nicht geändert werden, während der Filter aktiv ist. |
|
Es wurde eine ungültige Ausrichtung angegeben. |
|
Mindestens ein Puffer ist weiterhin aktiv. |
Bemerkungen
Diese Methode gibt die Pufferanforderungen an, weist jedoch keine Puffer zu. Rufen Sie die CBaseAllocator::Commit-Methode auf, um Puffer zuzuweisen.
Der Aufrufer ordnet zwei ALLOCATOR_PROPERTIES-Strukturen zu. Der Parameter pRequest enthält die Pufferanforderungen des Aufrufers, einschließlich der Anzahl der Puffer und der Größe jedes Puffers. Wenn die Methode zurückgibt, enthält der pActual-Parameter die tatsächlichen Puffereigenschaften, wie vom Allocator festgelegt. In der Basisklasse stimmen die tatsächlichen Eigenschaften immer mit den angeforderten Eigenschaften überein, wenn die Methode erfolgreich ist. Abgeleitete Klassen können dieses Verhalten außer Kraft setzen.
Die Zuweisung darf nicht committet werden und darf keine ausstehenden Puffer aufweisen. In der Basisklasse muss die Ausrichtung gleich 1 sein. Die CMemAllocator-Klasse überschreibt diese Anforderung.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|