Condividi tramite


Classe CUnknown

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

La classe CUnknown implementa l'interfaccia IUnknown . La maggior parte degli oggetti Component Object Model (COM) in DirectShow deriva da CUnknown.

Se si implementa un oggetto COM, potrebbe essere necessario derivarlo da CUnknown. La derivazione da CUnknown fornisce un'implementazione thread-safe e consente di risparmiare i problemi di implementazione di IUnknown.

Per una discussione dettagliata su come usare questa classe di base, vedere Come implementare IUnknown. Di seguito è riportato un breve riepilogo:

  • Includere la macro DECLARE_IUNKNOWN nella sezione pubblica della definizione della classe. Questa macro dichiara i tre metodi dell'interfaccia IUnknown .
  • Eseguire l'override del metodo NonDelegatingQueryInterface per supportare interfacce diverse da IUnknown. All'interno di questo metodo chiamare la funzione GetInterface per recuperare i puntatori dell'interfaccia.
  • Nel costruttore della classe richiamare il metodo del costruttore CUnknown .
Variabili membro protette Descrizione
m_cRef Numero di riferimenti.
Metodi pubblici Descrizione
CUnknown Metodo costruttore.
~ CUnknown Metodo distruttore. Virtuale.
GetOwner Ottiene un puntatore al controllo IUnknown.
Metodi INonDelegatingUnknown Descrizione
NonDelegatingAddRef Incrementa il conteggio dei riferimenti.
NonDelegatingQueryInterface Recupera un puntatore dell'interfaccia e incrementa il conteggio dei riferimenti.
NonDelegatingRelease Decrementa il conteggio dei riferimenti.

Requisiti

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

Vedi anche

Classi di base DirectShow