CBaseOutputPin.DecideAllocator-Methode

Die DecideAllocator -Methode wählt eine Speicherzuweisung aus.

Syntax

virtual HRESULT DecideAllocator(
   IMemInputPin  *pPin,
   IMemAllocator **pAlloc
);

Parameter

pPin

Zeiger auf die IMemInputPin-Schnittstelle des Eingabepins.

pAlloc

Adresse einer Variablen, die einen Zeiger auf die IMemAllocator-Schnittstelle der Zuweisung empfängt.

Rückgabewert

Gibt bei Erfolg S _ OK oder einen HRESULT-Wert zurück, der die Ursache des Fehlers angibt.

Bemerkungen

Diese Methode wird am Ende des Pinverbindungsprozesses aufgerufen. Sie führt die folgenden Schritte aus:

  1. Ruft die IMemInputPin::GetAllocatorRequirements-Methode auf, um ggf. die Pufferanforderungen des Eingabepins abzurufen.
  2. Ruft die IMemInputPin::GetAllocator-Methode auf, um eine Zuweisung vom Eingabepin anzufordern. Wenn der Eingabepin keine Zuweisung bereitstellt, erstellt der Ausgabepin einen, indem er die CBaseOutputPin::InitAllocator-Klassenmethode aufruft.
  3. Ruft die CBaseOutputPin::D ecideBufferSize-Klassenmethode auf, die die Zuweisungseigenschaften festlegt. Dies ist eine reine virtuelle Methode. die abgeleitete Klasse muss sie implementieren.
  4. Ruft die IMemInputPin::NotifyAllocator-Methode auf, die den Eingabepin über die verwendete Zuweisung benachrichtigt.

Requirements (Anforderungen)

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

Weitere Informationen

CBaseOutputPin-Klasse