Metodo IAMBufferNegotiation::SuggestAllocatorProperties (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il SuggestAllocatorProperties
metodo informa il pin delle proprietà dell'allocatore preferite dell'applicazione. Chiamare questo metodo prima della connessione del pin.
Sintassi
HRESULT SuggestAllocatorProperties(
[in] const ALLOCATOR_PROPERTIES *pprop
);
Parametri
[in] pprop
Puntatore a una struttura ALLOCATOR_PROPERTIES che contiene le proprietà richieste. Un valore negativo per qualsiasi membro indica che il pin deve usare l'impostazione predefinita per tale proprietà.
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Operazione completata. |
|
Esito negativo. |
|
Argomento puntatore NULL. |
|
Il pin è già connesso. |
Commenti
Se entrambi i pin nella connessione espongono l'interfaccia IAMBufferNegotiation , chiamare questo metodo su ogni pin per assicurarsi che un pin non esegua l'override dell'altro.
Per richiedere un determinato numero di buffer, impostare il membro cBuffers della struttura ALLOCATOR_PROPERTIES . Per richiedere una determinata dimensione del buffer, impostare il membro cbBuffer . Un'applicazione in genere non deve specificare l'allineamento o il prefisso. Se il numero di buffer o dimensioni di ogni buffer è troppo piccolo, il grafico dei filtri potrebbe eliminare campioni.
Esempio
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); |
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 |