Espacio de nombres de winrt (C++/WinRT)

El espacio de nombres winrt proporciona tipos de datos personalizados que pertenecen a C++/WinRT: la proyección de lenguaje estándar y moderna de C++17 para las API de Windows Runtime (WinRT). Estos tipos personalizados proporcionan conversiones adecuadas a y desde tipos estándar para que, gran parte del tiempo, pueda seguir usando las características estándar del lenguaje C++ que está acostumbrado a usar y el código fuente que ya tiene.

También se proporcionan en el espacio de nombres winrt funciones (para crear instancias de clase en tiempo de ejecución, boxing y unboxing, etc.), punteros inteligentes y otras instalaciones.

Tipos en el espacio de nombres winrt

Tipo Descripción
Plantilla de estructura agile_ref Tipo que representa una referencia ágil a un objeto o interfaz de C++/WinRT.
Estructura apartment_context Captura el contexto del subproceso dentro de una corrutina para que se pueda restaurar más adelante.
Plantilla de estructura array_view Vista, o intervalo, de una serie contigua de valores.
Estructura de marcador auto_revoke_t Tipo de marcador usado para solicitar un revocador de eventos al registrar un delegado para controlar un evento.
Plantilla de estructura de marcador con capa Tipo de marcador utilizado para indicar que IInspectable::GetIids no debe notificar una interfaz implementada.
Estructura clock Tipo que contiene funciones auxiliares estáticas para convertir windows ::Foundation::D ateTime (es decir, un std::chrono::time_point) a y desde winrt::file_time, y hacia y desde time_t.
Plantilla de estructura com_array Vista, o intervalo, de una serie contigua de valores para pasar a y desde Windows Runtime API.
Plantilla de estructura com_ptr Plantilla de puntero inteligente COM con recuento de referencias.
estructura de marcador que se puede componer Tipo de marcador utilizado para indicar que el tipo puede ser la clase interna de una clase composable.
estructura de marcador de composición Tipo de marcador utilizado para indicar que el tipo es la clase externa de una clase que se puede componer.
deferrable_event_args Tipo que puede usar para implementar (generar) el patrón de eventos aplazable.
Plantilla de estructura delegate Tipo que puede usar para declarar un tipo de delegado personalizado para sus propios eventos.
Plantilla de estructura event Tipo que puede usar para declarar e implementar un evento de un tipo delegado especificado.
Plantilla de estructura event_revoker Al registrar un delegado, puede solicitar un revocador de eventos, que puede usar para revocar automáticamente o manualmente el delegado.
Estructura event_token Un token devuelto al registrar un delegado de control de eventos con un evento; se puede usar para revocar el registro del mismo delegado.
Estructura file_handle Representa un objeto de identificador de archivo de Windows.
Estructura fire_and_forget Use este tipo de valor devuelto para que la corrutina sea una de fuego y olvidarla.
estructura guid Representa un identificador único global (GUID).
Estructura handle Representa un objeto de identificador de Windows.
Plantilla de estructura handle_type Plantilla para las estructuras winrt::handle y winrt::file_handle .
Estructura hstring Colección secuencial de caracteres Unicode UTF-16 que representan una cadena de texto.
Estructura hresult_access_denied Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_ACCESSDENIED.
Estructura hresult_canceled Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de ERROR_CANCELLED.
Estructura hresult_changed_state Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_CHANGED_STATE.
Estructura hresult_class_not_available Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de CLASS_E_CLASSNOTAVAILABLE.
Estructura hresult_error Tipo que representa un código de error HRESULT.
Estructura hresult_illegal_delegate_assignment Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_ILLEGAL_DELEGATE_ASSIGNMENT.
Estructura hresult_illegal_method_call Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_ILLEGAL_METHOD_CALL.
Estructura hresult_illegal_state_change Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_ILLEGAL_STATE_CHANGE.
Estructura hresult_invalid_argument Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_INVALIDARG.
Estructura hresult_no_interface Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_NOINTERFACE.
Estructura hresult_not_implemented Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_NOTIMPL.
Estructura hresult_out_of_bounds Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de E_BOUNDS.
Estructura hresult_wrong_thread Tipo derivado de winrt::hresult_error, que representa un código de error HRESULT de RPC_E_WRONG_THREAD.
Plantilla de estructura implements Plantilla de estructura base que implementa una o varias interfaces de Windows Runtime en nombre de un tipo derivado.
Plantilla de estructura map_base Una clase base, de la que se deriva, que representa una colección asociativa no observable.
Plantilla de estructura map_view_base Clase base, de la que se deriva, que representa una vista de una secuencia contigua de elementos de una colección asociativa.
Struct de marcador de no_module_lock Tipo de marcador usado para indicar que las instancias de un tipo no cuentan para el recuento de objetos del módulo.
Estructura no_weak_ref Tipo de marcador que se usa para no participar en la compatibilidad de referencia débil.
Estructura de marcador non_agile Tipo de marcador usado para indicar que el tipo no es ágil y, por consiguiente, no implementa la interfaz IAgileObject.
Plantilla de estructura observable_map_base Clase base, de la que se deriva, que representa una colección asociativa observable.
Plantilla de estructura observable_vector_base Una clase base, de la que se va a derivar, que representa un vector observable.
Estructura de marcador static_lifetime Tipo de marcador usado para optar por una factoría de activación en la duración estática.
Plantilla de estructura vector_base Clase base, de la que se deriva, que representa una colección de uso general no observable conocida como vector.
Plantilla de estructura vector_view_base Clase base de la que puede derivar para implementar su propia vista personalizada, o intervalo, de una secuencia contigua de elementos en una colección de uso general.
Plantilla de estructura weak_ref Tipo que representa una referencia débil a un objeto o interfaz de C++/WinRT.
Estructura Windows::Foundation::IUnknown 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.

Funciones en el espacio de nombres winrt

Función Descripción
Función attach_abi Función auxiliar que asocia un objeto de C++/WinRT a un identificador o a un puntero sin formato que posee una referencia a su destino.
Plantilla de función box_value Plantilla de función que ajusta (o cuadros) un valor escalar o de matriz dentro de un objeto de clase de referencia para que se pueda pasar a una función que espera IInspectable.
Plantilla de función capture Una plantilla de función que llama a una función o método especificados, captura el puntero de interfaz resultante y lo devuelve como winrt::com_ptr.
Plantilla de función check_bool Función auxiliar que comprueba si un valor es false y, si es así, recupera el valor del código de último error del subproceso que realiza la llamada y produce una excepción mediante un objeto C++/WinRT que representa ese código de error.
Función check_hresult Función auxiliar que comprueba si un código HRESULT representa un error y, si es así, produce una excepción mediante un objeto C++/WinRT que representa el código de error.
Plantilla de función check_nt Función auxiliar que comprueba si un código representa un error y, si es así, asigna el valor de estado NT del código de error a un valor HRESULT y produce una excepción mediante un objeto C++/WinRT que representa el código de error.
Plantilla de función check_pointer Función auxiliar que comprueba si un puntero es NULL y, si es así, recupera el valor del código de último error del subproceso que realiza la llamada y produce una excepción mediante un objeto C++/WinRT que representa ese código de error.
Plantilla de función check_win32 Función auxiliar que comprueba si un código representa un error y, si es así, asigna el código de error del sistema del valor a un valor HRESULT y produce una excepción mediante un objeto C++/WinRT que representa el código de error.
Función copy_from_abi Función auxiliar que copia en un objeto de C++/WinRT desde un identificador o desde un puntero sin formato.
Función copy_to_abi Función auxiliar que copia en un identificador o en un puntero desde un objeto C++/WinRT.
Plantilla de función create_instance Plantilla de función que crea un único objeto sin inicializar de la clase asociada a un CLSID especificado y lo devuelve como winrt::com_ptr o produce si no se ejecuta correctamente.
Función detach_abi Función auxiliar que desasocia un objeto de C++/WinRT de su identificador al que se hace referencia o de su interfaz a la que se hace referencia.
Plantilla de función from_abi Función auxiliar que, dada un objeto de un tipo proyectado, recupera un puntero a la implementación.
get_abi función Función auxiliar que recupera un puntero a la interfaz IUnknown subyacente de un objeto de C++/WinRT.
Plantilla de función get_activation_factory Función auxiliar que recupera el generador de activación de un tipo de clase de Windows Runtime especificado.
Función get_cancellation_token En una corrutina, use el objeto devuelto por winrt::get_cancellation_token para sondear o responder a la cancelación.
Función get_class_name Función auxiliar que recupera una cadena que contiene el nombre de tipo completo de una clase Windows Runtime especificada.
Función get_interfaces Función auxiliar que recupera una matriz que contiene los identificadores de las interfaces implementadas por un objeto de C++/WinRT.
Función get_progress_token En una corrutina, use el objeto devuelto por winrt::get_progress_token para notificar el progreso a un controlador de progreso.
Plantilla de función get_self Función auxiliar que, dada un objeto de un tipo proyectado, recupera un puntero a la implementación.
Función get_trust_level Función auxiliar que recupera el nivel de confianza de un objeto C++/WinRT.
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.
Plantilla de función guid_of Plantilla de función auxiliar que recupera el GUID de una clase en tiempo de ejecución, coclase o interfaz.
Plantilla de función is_guid_of Plantilla de función auxiliar que determina si el GUID proporcionado es o no el de una de las clases en tiempo de ejecución, las coclases o las interfaces especificadas.
Plantilla de función make Método de fábrica que devuelve una instancia de un tipo o interfaz proyectado cuando se parametriza con el tipo de implementación correspondiente.
Plantilla de función make_agile Función auxiliar que devuelve un objeto agile_ref , que representa una referencia ágil a un objeto o interfaz de C++/WinRT.
Plantilla de función make_self Método de fábrica que devuelve un com_ptr a una instancia del tipo de implementación de una clase en tiempo de ejecución.
Plantilla de función make_weak Función auxiliar que devuelve un objeto weak_ref , que representa una referencia débil a un objeto o interfaz de C++/WinRT.
Plantilla de función name_of Función auxiliar que recupera una vista de cadena que contiene el nombre de tipo completo de una clase Windows Runtime determinada.
put_abi función Función auxiliar que recupera la dirección de un puntero de interfaz IUnknown subyacente de un objeto de C++/WinRT para que se pueda establecer en otro valor.
Función resume_after Función auxiliar que devuelve el control al autor de la llamada y, a continuación, reanuda la ejecución en un subproceso del grupo de subprocesos después de un retraso.
Función resume_background Función auxiliar que devuelve el control al autor de la llamada y reanuda la ejecución en un subproceso del grupo de subprocesos.
Función resume_foreground Una función auxiliar , para su uso dentro de una corrutina, que puede co_await cambiar la ejecución a un subproceso en primer plano específico.
resume_on_signal Función que puede usar para suspenderse hasta que se señale un evento de kernel.
Plantilla de función single_threaded_map Plantilla de función que crea y devuelve un objeto de un tipo que implementa una colección asociativa no observable (mapa). El objeto se devuelve como un objeto IMap.
Plantilla de función single_threaded_observable_map Plantilla de función que crea y devuelve un objeto de un tipo que implementa una colección asociativa observable (mapa). El objeto se devuelve como IObservableMap.
Plantilla de función single_threaded_observable_vector Plantilla de función que crea y devuelve un objeto de un tipo que implementa una colección observable. El objeto se devuelve como IObservableVector.
Plantilla de función single_threaded_vector Plantilla de función que crea y devuelve un objeto de un tipo que implementa una colección de uso general. El objeto se devuelve como IVector.
swap (función) Función auxiliar que intercambia el contenido de dos valores.
Función throw_hresult Una función auxiliar que toma un código de error HRESULT y produce una excepción mediante un objeto C++/WinRT que representa ese código de error.
Función throw_last_error Función auxiliar que recupera el último valor de código de error del subproceso que realiza la llamada y produce una excepción mediante un objeto C++/WinRT que representa ese código de error.
Función to_hresult Una función auxiliar, para su uso en un bloque catch, que convierte la última excepción iniciada en un código de error HRESULT.
Función to_hstring Función auxiliar que convierte un valor de entrada en winrt::hstring que contiene la representación de cadena del valor.
to_string función Función auxiliar que convierte una cadena ancha de entrada en una cadena std::string que contiene una cadena estrecha UTF-8.
Plantilla de función try_capture Una plantilla de función que llama a una función o método especificado, captura el puntero de interfaz que se genera desde la función o el método y lo devuelve como winrt::com_ptr o un com_ptr vacío si no se ejecuta correctamente.
Plantilla de función try_create_instance Plantilla de función que crea un único objeto sin inicializar de la clase asociada a un CLSID especificado y lo devuelve como winrt::com_ptr o un com_ptr vacío si no se ejecuta correctamente.
Plantilla de función try_get_activation_factory Función auxiliar que recupera el generador de activación de un tipo de clase de Windows Runtime especificado o un com_ptr vacío si no se realiza correctamente.
Plantilla de función unbox_value Plantilla de función que desencapsula (o unboxes) un valor escalar o de matriz desde dentro de un objeto de clase de referencia para que se pueda procesar en una función que espera IInspectable.
Plantilla de función unbox_value_or Plantilla de función que desencapsula (o unboxes) un valor escalar desde dentro de un objeto de clase de referencia, con un valor de reserva, para que se pueda procesar en una función que espera IInspectable.
Plantilla de función xaml_typename Función auxiliar que devuelve el nombre de tipo de un tipo Windows Runtime, en forma de un objeto Windows::UI::Xaml::Interop::TypeName.

Funciones de C++/WinRT que amplían las API de Windows Runtime

Existen funciones de extensión en los tipos de proyección de C++/WinRT para determinadas API de Windows Runtime. Por ejemplo, winrt::Windows::Foundation::IAsyncAction es el tipo de proyección de C++/WinRT para IAsyncAction. Las funciones de extensión no forman parte de la superficie de la interfaz binaria de la aplicación (ABI) de los tipos de Windows Runtime reales, por lo que no se enumeran como miembros de las API de Windows Runtime. Pero puede llamarlos desde cualquier proyecto de C++/WinRT.

WinRT API Funciones Descripción
IAsyncAction get, wait_for Consulte Funciones de extensión de IAsyncAction C++/WinRT.
IAsyncActionWithProgress get, wait_for Consulte Funciones de extensión de C++/WinRT de IAsyncActionWithProgress
IAsyncOperation get, wait_for Consulte Funciones de extensión de IAsyncOperation C++/WinRT.
IAsyncOperationWithProgress get, wait_for Consulte Funciones de extensión de C++/WinRT de IAsyncOperationWithProgress
IBindableIterable begin, end Consulte Funciones de extensión de C++/WinRT de IBindableIterable
IBindableIterator begin, end, operator++, operator++(int), operator* Consulte Funciones de extensión de C++/WinRT de IBindableIterator
IBuffer data Consulte Funciones de extensión de C++/WinRT de IBuffer.
IIterable begin, end Consulte Funciones de extensión de C++/WinRT que se pueden usar para IIterable.
IIterator operator++, operator++(int), operator* Consulte Funciones de extensión de IIterator C++/WinRT.
IKeyValuePair operator== Consulte Funciones de extensión de IKeyValuePair C++/WinRT.
Imap begin, end, TryLookup, TryRemove Consulte Funciones de extensión de IMap C++/WinRT.
IMapView begin, end, TryLookup Consulta Funciones de extensión de IMapView C++/WinRT
IMemoryBufferReference data Consulte Funciones de extensión de IMemoryBufferReference C++/WinRT.
IVector begin, end Consulte Funciones de extensión de IVector C++/WinRT.
IVectorView begin, end Consulte Funciones de extensión de IVectorView C++/WinRT.

Otras funciones

Función Descripción
Función GetRuntimeClassName Función miembro (de un tipo de implementación generado) que devuelve una cadena que contiene el nombre de tipo completo de la clase Windows Runtime que se está implementando.

Consulte también

C++/WinRT