CUnknown (clase)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

jerarquía de clases cunknown

La clase CUnknown implementa la interfaz IUnknown . La mayoría de los objetos Component Object Model (COM) de DirectShow derivan de CUnknown.

Si implementa un objeto COM, es posible que quiera derivarlo de CUnknown. La derivación de CUnknown proporciona una implementación segura para subprocesos y le ahorra los problemas para implementar IUnknown.

Para obtener una explicación detallada sobre cómo usar esta clase base, vea Cómo implementar IUnknown. Lo siguiente es un breve resumen:

  • Incluya la macro DECLARE_IUNKNOWN en la sección pública de la definición de clase. Esta macro declara los tres métodos de la interfaz IUnknown .
  • Invalide el método NonDelegatingQueryInterface para admitir interfaces distintas de IUnknown. Dentro de este método, llame a la función GetInterface para recuperar punteros de interfaz.
  • En el constructor de clase, invoque el método constructor CUnknown .
Variables miembro protegidas Descripción
m_cRef Recuento de referencias.
Métodos públicos Descripción
CUnknown Método constructor.
~ CUnknown Método de destructor. Virtual.
GetOwner Obtiene un puntero al control IUnknown.
Métodos INonDelegatingUnknown Descripción
NonDelegatingAddRef Incrementa el recuento de referencias.
NonDelegatingQueryInterface Recupera un puntero de interfaz e incrementa el recuento de referencias.
NonDelegatingRelease Disminuye el recuento de referencias.

Requisitos

Requisito Value
Encabezado
Combase.h (include Streams.h)
Biblioteca
Strmbase.lib (compilaciones comerciales);
Strmbasd.lib (compilaciones de depuración)

Consulte también

Clases base directShow