Metodo CBaseOutputPin.DecideAllocator
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il DecideAllocator
metodo seleziona un allocatore di memoria.
Sintassi
virtual HRESULT DecideAllocator(
IMemInputPin *pPin,
IMemAllocator **pAlloc
);
Parametri
-
pPin
-
Puntatore all'interfaccia IMemInputPin del pin di input.
-
pAlloc
-
Indirizzo di una variabile che riceve un puntatore all'interfaccia IMemAllocator dell'allocatore.
Valore restituito
Restituisce S_OK se ha esito positivo o un valore HRESULT che indica la causa dell'errore.
Commenti
Questo metodo viene chiamato alla fine del processo di connessione pin. Esegue i passaggi seguenti:
- Chiama il metodo IMemInputPin::GetAllocatorRequirements per recuperare i requisiti del buffer del pin di input, se presente.
- Chiama il metodo IMemInputPin::GetAllocator per richiedere un allocatore dal pin di input. Se il pin di input non fornisce un allocatore, il pin di output ne crea uno chiamando il metodo di classe CBaseOutputPin::InitAllocator .
- Chiama il metodo di classe CBaseOutputPin::D ecideBufferSize , che imposta le proprietà dell'allocatore. Si tratta di un metodo virtuale puro; la classe derivata deve implementarla.
- Chiama il metodo IMemInputPin::NotifyAllocator , che notifica il pin di input dell'allocatore usato.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|