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 la interfaz IUnknown COM 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)
Espacio de nombres: winrt
Encabezado: %WindowsSdkDir%Include<WindowsTargetPlatformVersion>\cppwinrt\winrt\base.h (incluido de forma predeterminada)
Constructores
Constructor | Descripción |
---|---|
Constructor IUnknown::IUnknown | Inicializa una nueva instancia de la estructura IUnknown , 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 |
---|---|
Función attach_abi | Adjunta un objeto IUnknown a un puntero sin procesar que posee una referencia a su destino; no se agrega una referencia adicional. |
Función copy_from_abi | Copia en un objeto IUnknown desde otro puntero. Disminuye el recuento de referencias en cualquier interfaz u objeto a la 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. |
Función copy_to_abi | Copia en otro puntero desde un objeto IUnknown . Incrementa el recuento de referencias en cualquier interfaz u objeto a la que se hace referencia actualmente y copia la dirección de memoria de esa interfaz o objeto en el parámetro . |
Función detach_abi | Se desasocia de la interfaz IUnknown sin disminuir el recuento de referencias, quizás para devolverlo a un autor de la llamada. |
función get_abi | Devuelve el puntero de interfaz IUnknown sin formato subyacente si necesita pasarlo a una función. |
Función get_unknown | Función auxiliar que devuelve la dirección de la interfaz IUnknown sin formato subyacente de un objeto de un tipo proyectado. |
función put_abi | Devuelve la dirección del puntero de interfaz IUnknown sin formato subyacente como puntero a un puntero a void; esta función le 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. |
swap (función) | Intercambia el contenido de los dos parámetros IUnknown para que apunten entre sí. |
Operadores gratuitos
Función | Descripción |
---|---|
operator!= (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. |
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. |
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. |
operator>= (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, del segundo parámetro. |
Constructor IUnknown::IUnknown
Inicializa una nueva instancia de la estructura IUnknown , 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
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 (declarada por C++/WinRT o por un tercero).
Función IUnknown::try_as
Devuelve la interfaz solicitada, si se admite. Devuelve null
(la auto
sobrecarga de devolución) o false
(la bool
sobrecarga de devolución), si no es así. 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
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 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
sobrecarga -devolviendo) o false
(la bool
sobrecarga de devolución).
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, 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 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
Adjunta 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 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 la 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 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 la 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 IUnknown en el que operar.
value
Referencia de puntero sin formato; a través de la cual se copia el puntero al destino del objeto IUnknown .
Función detach_abi
Desasocia un objeto IUnknown de su interfaz IUnknown sin disminuir el recuento de referencias, quizás para devolverlo a un autor de la llamada.
Sintaxis
void* detach_abi(winrt::Windows::Foundation::IUnknown& object) noexcept;
void* detach_abi(winrt::Windows::Foundation::IUnknown&& object) noexcept;
Parámetros
object
Valor IUnknown en el que operar.
Valor devuelto
Puntero a la interfaz IUnknown sin formato a la que hace referencia el objeto IUnknown .
función get_abi
Devuelve el puntero de interfaz IUnknown sin formato subyacente si necesita pasarlo a una función. Puede llamar a AddRef, Release o QueryInterface en el puntero devuelto.
Sintaxis
void* get_abi(winrt::Windows::Foundation::IUnknown const& object) noexcept;
Parámetros
object
Valor IUnknown en el que operar.
Valor devuelto
Puntero a la interfaz IUnknown sin formato 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 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 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 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 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 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 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 que la del segundo parámetro; de lo contrario false
, .
operator>= (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, 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 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 puntero de interfaz IUnknown sin formato subyacente como puntero a un puntero a void; esta función le 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 IUnknown en el que operar.
Valor devuelto
Dirección del puntero de interfaz IUnknown sin formato subyacente.
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de