Freigeben über


IAMBufferNegotiation::SuggestAllocatorProperties-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 SuggestAllocatorProperties -Methode informiert den Pin über die bevorzugten Zuweisungseigenschaften der Anwendung. Rufen Sie diese Methode auf, bevor die Pin eine Verbindung herstellt.

Syntax

HRESULT SuggestAllocatorProperties(
  [in] const ALLOCATOR_PROPERTIES *pprop
);

Parameter

[in] pprop

Zeiger auf eine ALLOCATOR_PROPERTIES-Struktur , die die angeforderten Eigenschaften enthält. Ein negativer Wert für jedes Element gibt an, dass der Pin seine Standardeinstellung für diese Eigenschaft verwenden soll.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_FAIL
Fehler.
E_POINTER
NULL-Zeigerargument.
VFW_E_ALREADY_CONNECTED
Der Pin ist bereits verbunden.

Hinweise

Wenn beide Pins in der Verbindung die IAMBufferNegotiation-Schnittstelle verfügbar machen, rufen Sie diese Methode für jeden Pin auf, um sicherzustellen, dass ein Pin die andere nicht überschreibt.

Um eine bestimmte Anzahl von Puffern anzufordern, legen Sie den cBuffers-Member der ALLOCATOR_PROPERTIES-Struktur fest. Um eine bestimmte Puffergröße anzufordern, legen Sie den cbBuffer-Member fest. Eine Anwendung sollte in der Regel die Ausrichtung oder das Präfix nicht angeben. Wenn die Anzahl der Puffer oder die Größe jedes Puffers zu klein ist, kann das Filterdiagramm Stichproben löschen.

Beispiele

C++
ALLOCATOR_PROPERTIES AllocProp;
AllocProp.cbAlign = -1;  // -1 means no preference.
AllocProp.cbBuffer = dwBytesPerSec *  dwLatencyInMilliseconds / 1000;
AllocProp.cbPrefix = -1;
AllocProp.cBuffers = -1;
pIAMBufferNegotiation->SuggestAllocatorProperties(&AllocProp);

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

IAMBufferNegotiation-Schnittstelle