Compartir a través de


estructura winrt::Windows::Foundation::IUnknown (C++/WinRT)

Cada clase en tiempo de ejecución de C++/WinRT (ya sea una clase en tiempo de ejecución de Windows o de terceros) deriva de winrt::Windows::Foundation::IUnknown. Representa el COM interfaz de, y proporciona instalaciones como consultar una interfaz diferente, funciones abi y operadores de comparación.

Sintaxis

struct IUnknown

Requisitos

SDK mínimo admitido: Windows SDK versión 10.0.17134.0 (Windows 10, versión 1803)

Namespace: winrt

encabezado : %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)

Constructores

Constructor Descripción
constructor IUnknown::IUnknown Inicializa una nueva instancia del IUnknown estructura, opcionalmente con una copia o movimiento de los datos de entrada.

Funciones miembro

Función Descripción
función IUnknown::as Devuelve la interfaz solicitada, si se admite. Produce si no lo es.
función IUnknown::try_as Devuelve la interfaz solicitada, si se admite. Devuelve null, o false, si no lo es.

Operadores de miembro

Operador Descripción
IUnknown::operator bool Comprueba si el objeto IUnknown hace referencia a una interfaz o no.
IUnknown::operator= (operador de asignación) Asigna un valor al objeto IUnknown.

Funciones gratuitas

Función Descripción
attach_abi función Asocia un objeto IUnknown a un puntero sin procesar que posee una referencia a su destino; no se agrega una referencia adicional.
de función copy_from_abi Copia en un objeto IUnknown desde otro puntero. Disminuye el recuento de referencias en cualquier interfaz u objeto a los que se hace referencia actualmente, copia el parámetro de puntero sin procesar y comienza a administrar la duración de la interfaz o el objeto al que apunta.
copy_to_abi de función Copia en otro puntero desde un objeto IUnknown. Incrementa el recuento de referencias en cualquier interfaz u objeto a los que se hace referencia actualmente y copia la dirección de memoria de esa interfaz o objeto en el parámetro .
detach_abi de función Desasocia de la interfaz IUnknown sin procesar sin disminuir el recuento de referencias, quizás para devolverlo a un autor de la llamada.
de función get_abi Devuelve el interfaz IUnknown subyacente puntero debe pasarlo a una función.
de función get_unknown Función auxiliar que devuelve la dirección de la interfaz IUnknown subyacente de un objeto de un tipo proyectado.
de función put_abi Devuelve la dirección del interfaz IUnknown subyacente puntero como puntero a un puntero a void; esta función ayuda a llamar a métodos (como métodos COM) que devuelven referencias como parámetros out a través de un puntero a un puntero a void.
función de intercambio Intercambia el contenido de los dos parámetros IUnknown para que apunten entre sí.

Operadores gratuitos

Función Descripción
operador != (operador de desigualdad) Devuelve un valor que indica si los dos parámetros hacen referencia a destinos diferentes.
operador< (operador menor que) Devuelve un valor que indica si el destino del primer parámetro se produce antes en la memoria que el del segundo parámetro.
operador<= (operador menor o igual que) Devuelve un valor que indica si el destino del primer parámetro se produce antes en la memoria que, o en la misma ubicación que, del segundo parámetro.
operator== (operador de igualdad) Devuelve un valor que indica si los dos parámetros hacen referencia a la misma interfaz o objeto.
operador> (operador mayor que) Devuelve un valor que indica si el destino del primer parámetro se produce más adelante en la memoria que el del segundo parámetro.
operador>= (operador mayor o igual que) Devuelve un valor que indica si el destino del primer parámetro se produce más adelante en la memoria que, o en la misma ubicación que, el del segundo parámetro.

Constructor IUnknown::IUnknown

Inicializa una nueva instancia del IUnknown estructura, opcionalmente con una copia o movimiento de los datos de entrada.

Sintaxis

IUnknown() noexcept;
IUnknown(std::nullptr_t) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown const& other) noexcept;
IUnknown(winrt::Windows::Foundation::IUnknown&& other) noexcept;

Parámetros

other otro IUnknown que inicializa el objeto IUnknown.

Función IUnknown::as

Devuelve la interfaz solicitada, si se admite. Produce si no lo es. Esta función es útil si desea consultar una interfaz que no necesita volver al autor de la llamada.

Sintaxis

template <typename To> auto as() const;
template <typename To> void as(To& to) const;

Parámetros de plantilla

typename To Tipo de la interfaz solicitada.

Parámetros

to Una referencia a un valor para recibir la interfaz solicitada.

Valor devuelto

Un com_ptr hacer referencia a la interfaz solicitada o un puntero inteligente fuertemente tipado para la interfaz solicitada (ya sea declarado por C++/WinRT o por un tercero).

Función IUnknown::try_as

Devuelve la interfaz solicitada, si se admite. Devuelve null (la sobrecarga de devolución de auto) o false (la sobrecarga de devolución de bool), si no lo está. Esta función es útil si desea consultar una interfaz que no necesita volver al autor de la llamada.

Sintaxis

template <typename To> auto try_as() const noexcept;
template <typename To> bool try_as(To& to) const noexcept;

Parámetros de plantilla

typename To Tipo de la interfaz solicitada.

Parámetros

to Una referencia a un valor para recibir la interfaz solicitada. Puede ser una referencia nula.

Valor devuelto

Un com_ptr hacer referencia a la interfaz solicitada o a un puntero inteligente fuertemente tipado para la interfaz solicitada (declarada por C++/WinRT o por un tercero), si se admite la interfaz solicitada, de lo contrario, null (la auto-devuelve sobrecarga) o false (la sobrecarga de devolución de bool).

Si to es una referencia nula, devuelve null o false.

IUnknown::operator bool

Comprueba si el objeto IUnknown hace referencia a una interfaz o no. Si el objeto IUnknown no hace referencia a una interfaz, entonces es lógicamente NULL; de lo contrario, no es null lógicamente.

Sintaxis

explicit operator bool() const noexcept;

Valor devuelto

true si el objeto IUnknown hace referencia a una interfaz (lógicamente no null), de lo contrario, false (lógicamente null).

IUnknown::operator= (operador de asignación)

Asigna un valor al objeto IUnknown.

Sintaxis

winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown const& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(winrt::Windows::Foundation::IUnknown&& other) noexcept;
winrt::Windows::Foundation::IUnknown& operator=(std::nullptr_t) noexcept;

Parámetros

other valor de IUnknown que se va a asignar al objeto IUnknown, ya sea por copia o por movimiento.

Valor devuelto

Referencia al objeto IUnknown.

función attach_abi

Asocia un objeto IUnknown a un puntero sin procesar que posee una referencia a su destino; no se agrega una referencia adicional. Si es necesario, puede usar esta función para fusionar referencias.

Sintaxis

void attach_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;

Parámetros

object valor de IUnknown en el que operar.

value puntero sin procesar que posee una referencia a su destino.

función copy_from_abi

Copia en un objeto IUnknown desde otro puntero. Disminuye el recuento de referencias en cualquier interfaz u objeto a los que se hace referencia actualmente, copia el parámetro de puntero sin procesar y comienza a administrar la duración de la interfaz o el objeto al que apunta.

Sintaxis

void copy_from_abi(winrt::Windows::Foundation::IUnknown& object, void* value) noexcept;

Parámetros

object valor de IUnknown en el que operar.

value puntero sin procesar a un destino cuya duración debe administrarse mediante el objeto IUnknown.

función copy_to_abi

Copia en otro puntero desde un objeto IUnknown. Incrementa el recuento de referencias en cualquier interfaz u objeto a los que se hace referencia actualmente y copia la dirección de memoria de esa interfaz o objeto en el parámetro . Esta función le permite entregar una referencia a la misma interfaz sin llamar a QueryInterface.

Sintaxis

void copy_to_abi(winrt::Windows::Foundation::IUnknown const& object, void*& value) noexcept;

Parámetros

object valor de IUnknown en el que operar.

value Referencia de puntero sin formato; a través de la cual copiar el puntero al IUnknown destino del objeto.

función detach_abi

Desasocia un objeto IUnknown de su interfaz IUnknown sin procesar sin disminuir el recuento de referencias, quizás para devolverlo a un autor de llamada.

Sintaxis

void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;

Parámetros

object valor de IUnknown en el que operar.

Valor devuelto

Puntero a la interfaz IUnknown sin procesar a la que hace referencia el objeto IUnknown.

función get_abi

Devuelve el interfaz IUnknown subyacente puntero debe pasarlo a una función. Puede llamar a AddRef, Releaseo QueryInterface en el puntero devuelto.

Sintaxis

void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;

Parámetros

object valor de IUnknown en el que operar.

Valor devuelto

Puntero a la interfaz IUnknown sin procesar a la que hace referencia el objeto IUnknown.

operator!= (operador de desigualdad)

Devuelve un valor que indica si los dos parámetros hacen referencia a destinos diferentes.

Sintaxis

bool operator!=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si los dos parámetros apuntan a destinos diferentes; de lo contrario, false.

operador< (operador menor que)

Devuelve un valor que indica si el destino del primer parámetro se produce antes en la memoria que el del segundo parámetro.

Sintaxis

bool operator<(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si la dirección de memoria del primer parámetro del destino es menor que la del segundo parámetro; de lo contrario, false.

operator<= (operador menor o igual que)

Devuelve un valor que indica si el destino del primer parámetro se produce antes en la memoria que, o en la misma ubicación que, del segundo parámetro.

Sintaxis

bool operator<=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si la dirección de memoria del primer parámetro de destino es menor o igual que la del segundo parámetro; de lo contrario, false.

operator== (operador de igualdad)

Devuelve un valor que indica si los dos parámetros hacen referencia a la misma interfaz o objeto.

Sintaxis

bool operator==(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si los dos parámetros apuntan al mismo destino; de lo contrario, false.

operador> (operador mayor que)

Devuelve un valor que indica si el destino del primer parámetro se produce más adelante en la memoria que el del segundo parámetro.

Sintaxis

bool operator>(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si la dirección de memoria del primer parámetro de destino es mayor que la del segundo parámetro; de lo contrario, false.

operator>= (operador mayor que o igual que)

Devuelve un valor que indica si el destino del primer parámetro se produce más adelante en la memoria que, o en la misma ubicación que, el del segundo parámetro.

Sintaxis

bool operator>=(winrt::Windows::Foundation::IUnknown const& left, winrt::Windows::Foundation::IUnknown const& right) noexcept;

Parámetros

left right Valor de IUnknown cuya dirección de memoria del destino se va a comparar con la del otro parámetro.

Valor devuelto

true si la dirección de memoria del primer parámetro del destino es mayor o igual que la del segundo parámetro; de lo contrario, false.

función put_abi

Devuelve la dirección del interfaz IUnknown subyacente puntero como puntero a un puntero a void; esta función ayuda a llamar a métodos (como métodos COM) que devuelven referencias como parámetros out a través de un puntero a un puntero a void.

Sintaxis

void** put_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;

Parámetros

object valor de IUnknown en el que operar.

Valor devuelto

Dirección del interfaz IUnknown subyacente puntero.

función swap

Intercambia el contenido de los dos parámetros IUnknown para que apunten entre sí.

Sintaxis

void swap(winrt::Windows::Foundation::IUnknown& left, winrt::Windows::Foundation::IUnknown& right) noexcept;

Parámetros

left right Valor IUnknown cuyo puntero se va a intercambiar mutuamente con el del otro parámetro.

Consulte también

  • de espacio de nombres winrt