Classe CImageAllocator

[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.

gerarchia di classi cimageallocator

La CImageAllocator classe implementa un allocatore che gestisce bitmap indipendenti dal dispositivo GDI . Questa classe deriva dalla classe CBaseAllocator . Crea esempi multimediali implementati usando la classe CImageSample .

Un allocatore è condiviso da due pin connessi, ma è sempre di proprietà di uno dei filtri nella connessione. Un filtro che usa CImageAllocator deve tenere traccia del fatto che l'allocatore sia stato fornito da se stesso o dall'altro filtro. Se l'allocatore è stato fornito da se stesso, il filtro proprietario può basarsi sul fatto che tutti gli esempi multimediali dell'allocatore sono oggetti CImageSample . Può quindi usare l'oggetto CImageSample per ottenere informazioni sul DIB, archiviato in una struttura DIBDATA .

Il filtro proprietario deve chiamare NotifyMediaType ogni volta che il tipo di supporto cambia.

Variabili membro protette Descrizione
m_pFilter Puntatore al filtro proprietario.
m_pMediaType Puntatore al tipo di supporto corrente.
Metodi protetti Descrizione
Alloc Alloca memoria per i buffer.
CheckSizes Controlla le proprietà dell'allocatore rispetto al tipo di supporto corrente.
CreateDIB Crea un DIB.
CreateImageSample Crea un esempio multimediale. Virtuale.
Gratuito Rilascia tutta la memoria del buffer.
Metodi pubblici Descrizione
CImageAllocator Metodo costruttore.
NotifyMediaType Informa l'oggetto del tipo di supporto corrente.
Metodi IMemAllocator Descrizione
SetProperties Specifica il numero di buffer da allocare e le dimensioni di ogni buffer.

Requisiti

Requisito Valore
Intestazione
Winutil.h (includere Streams.h)
Libreria
Strmbase.lib (build al dettaglio);
Strmbasd.lib (build di debug)

Vedi anche

Classe CDrawImage