CBaseOutputPin.DecideAllocator-Methode
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die DecideAllocator
-Methode wählt einen Speicherzuordnungsator aus.
Syntax
virtual HRESULT DecideAllocator(
IMemInputPin *pPin,
IMemAllocator **pAlloc
);
Parameter
-
pPin
-
Zeiger auf die IMemInputPin-Schnittstelle des Eingabenadels.
-
pAlloc
-
Adresse einer Variablen, die einen Zeiger auf die IMemAllocator-Schnittstelle des Zuteilungsgebers empfängt.
Rückgabewert
Gibt bei erfolgreicher Ausführung S_OK oder einen HRESULT-Wert zurück, der die Fehlerursache angibt.
Bemerkungen
Diese Methode wird am Ende des Pinverbindungsprozesses aufgerufen. Sie führt die folgenden Schritte aus:
- Ruft die IMemInputPin::GetAllocatorRequirements-Methode auf, um die Pufferanforderungen des Eingabenadels abzurufen, falls vorhanden.
- Ruft die IMemInputPin::GetAllocator-Methode auf, um eine Zuordnung vom Eingabenadel anzufordern. Wenn der Eingabenadel keinen Zuteilungsstift bereitstellt, erstellt der Ausgabepin einen, indem die CBaseOutputPin::InitAllocator-Klassenmethode aufgerufen wird .
- Ruft die CBaseOutputPin::D ecideBufferSize-Klassenmethode auf, die die Allocatoreigenschaften festlegt. Dies ist eine reine virtuelle Methode; die abgeleitete Klasse muss sie implementieren.
- Ruft die IMemInputPin::NotifyAllocator-Methode auf, die den Eingabenadel des verwendeten Zuordnungselements benachrichtigt.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|