Share via


_com_ptr_t Extractores

Específico de Microsoft

Extrae el puntero de interfaz COM encapsulado.

Sintaxis

operator Interface*( ) const throw( );
operator Interface&( ) const;
Interface& operator*( ) const;
Interface* operator->( ) const;
Interface** operator&( ) throw( );
operator bool( ) const throw( );

Comentarios

  • operator Interface* devuelve el puntero de interfaz encapsulado, que puede ser NULL.

  • operator Interface& devuelve una referencia al puntero de interfaz encapsulado y emite un error si el puntero es NULL.

  • operator* permite que un objeto de puntero inteligente actúe como si fuera la interfaz encapsulada real cuando se desreferencia.

  • operator-> permite que un objeto de puntero inteligente actúe como si fuera la interfaz encapsulada real cuando se desreferencia.

  • operator& libera cualquier puntero de interfaz encapsulado, lo reemplaza por NULL y devuelve la dirección del puntero encapsulado. Este operador permite pasar el puntero inteligente por dirección a una función que tenga un parámetro out a través del cual devuelve un puntero de interfaz.

  • operator bool permite usar un objeto de puntero inteligente en una expresión condicional. Este operador devuelve true si el puntero no es NULL.

    Nota:

    Dado que operator bool no se declara como explicit, _com_ptr_t se puede convertir implícitamente en bool, que es convertible en cualquier tipo de escalar. Esto puede tener consecuencias inesperadas en el código. Habilite la Advertencia del compilador (nivel 4) C4800 para evitar el uso no intencionado de esta conversión.

Consulte también

clase _com_ptr_t