Condividi tramite


Metodo CMemAllocator.SetProperties

[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 SetProperties metodo specifica il numero di buffer da allocare e le dimensioni di ogni buffer.

Sintassi

HRESULT SetProperties(
   ALLOCATOR_PROPERTIES *pRequest,
   ALLOCATOR_PROPERTIES *pActual
);

Parametri

pRequest

Puntatore a una struttura ALLOCATOR_PROPERTIES che contiene i requisiti del buffer.

pActual

Puntatore a una struttura ALLOCATOR_PROPERTIES che riceve le proprietà effettive del buffer.

Valore restituito

Restituisce uno dei valori HRESULT illustrati nella tabella seguente.

Codice restituito Descrizione
S_OK
Operazione completata.
E_POINTER
Argomento puntatore NULL.
VFW_E_ALREADY_COMMITTED
Impossibile modificare la memoria allocata mentre il filtro è attivo.
VFW_E_BADALIGN
È stato specificato un allineamento non valido.
VFW_E_BUFFERS_OUTSTANDING
Uno o più buffer sono ancora attivi.

Commenti

Questo metodo esegue l'override del metodo CBaseAllocator::SetProperties .

L'allineamento del buffer, specificato dal membro cbAlign della struttura ALLOCATOR_PROPERTIES , deve essere una potenza pari a due.

Requisiti

Requisito Valore
Intestazione
Amfilter.h (include Streams.h)
Libreria
Strmbase.lib (build retail);
Strmbasd.lib (build di debug)

Vedi anche

Classe CMemAllocator