Metodo IAsyncReader::RequestAllocator (strmif.h)
[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 RequestAllocator
metodo richiede un allocatore durante la connessione pin.
Sintassi
HRESULT RequestAllocator(
[in] IMemAllocator *pPreferred,
[in] ALLOCATOR_PROPERTIES *pProps,
[out] IMemAllocator **ppActual
);
Parametri
[in] pPreferred
Puntatore all'interfaccia IMemAllocator nel pin di input preferito o NULL.
[in] pProps
Specifica l'indirizzo di una struttura ALLOCATOR_PROPERTIES allocata dal chiamante. Il chiamante deve compilare tutte le proprietà dell'allocatore necessarie per il pin di input e impostare i membri rimanenti su zero.
[out] ppActual
Indirizzo di una variabile che riceve un puntatore dell'interfaccia IMemAllocator .
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Impossibile inizializzare un allocatore. |
|
È stato specificato un allineamento non valido. |
|
L'allocatore è stato restituito. |
Commenti
Il pin di input downstream deve chiamare questo metodo durante il processo di connessione. Se il pin ha un allocatore preferito, specificarlo nel parametro pPreferred . Specificare eventuali requisiti del buffer, ad esempio dimensioni del buffer o allineamento, nel parametro pProps . Il pin di output sceglie l'allocatore e restituisce un puntatore al parametro ppActual .
Il pin di output non è necessario per rispettare le richieste del pin di input. Se il pin di input ha requisiti assoluti, deve chiamare il metodo IMemAllocator::GetProperties nell'allocatore restituito. Può non riuscire la connessione se le proprietà dell'allocatore non sono adatte. Dopo aver stabilito la connessione, il pin di input deve usare l'allocatore scelto dal pin di output.
Il pin di input è responsabile del commit e del decommettere l'allocatore.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | strmif.h (include Dshow.h) |
Libreria | Strmiids.lib |