Espacio de nombres de winrt (C++/WinRT)
El espacio de nombres winrt proporciona tipos de datos personalizados que pertenecen a C++/WinRTcon la proyección de lenguaje C++17 estándar y moderna para Windows Runtime 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 las funciones (para crear instancias de clase en tiempo de ejecución, boxing y unboxing, etc.), punteros inteligentes y otras funciones.
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 corrotina 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 que se usa para solicitar un revocador de eventos al registrar un delegado para controlar un evento. |
| Estructura clock | Tipo que contiene funciones auxiliares estáticas para convertir un objeto Windows::Foundation::D ateTime (es decir, 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. |
| deferrable_event_args | Tipo que puede usar para implementar (generar) el patrón de evento 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 de delegado especificado. |
| Plantilla de estructura event_revoker | Al registrar un delegado, puede solicitar un revocador de eventos, que puede usar para revocar el delegado de forma automática o manual. |
| Estructura event_token | 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 convertir la coroutina en una fire-and-forget. |
| Estructura handle | Representa un objeto de identificador de Windows. |
| Plantilla de estructura handle_type | Plantilla para los structs 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 E_ACCESSDENIED de error HRESULT. |
| Estructura hresult_canceled | Tipo derivado de winrt::hresult_error, que representa un ERROR_CANCELLED de error HRESULT. |
| Estructura hresult_changed_state | Tipo derivado de winrt::hresult_error, que representa un E_CHANGED_STATE de error HRESULT. |
| Estructura hresult_class_not_available | Tipo derivado de winrt::hresult_error, que representa un CLASS_E_CLASSNOTAVAILABLE de error HRESULT. |
| 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 E_ILLEGAL_DELEGATE_ASSIGNMENT de error HRESULT. |
| Estructura hresult_illegal_method_call | Tipo derivado de winrt::hresult_error, que representa un E_ILLEGAL_METHOD_CALL de error HRESULT. |
| Estructura hresult_illegal_state_change | Tipo derivado de winrt::hresult_error, que representa un E_ILLEGAL_STATE_CHANGE de error HRESULT. |
| Estructura hresult_invalid_argument | Tipo derivado de winrt::hresult_error, que representa un E_INVALIDARG código de error HRESULT. |
| Estructura hresult_no_interface | Tipo derivado de winrt::hresult_error, que representa un E_NOINTERFACE de error HRESULT. |
| Estructura hresult_not_implemented | Tipo derivado de winrt::hresult_error, que representa un E_NOTIMPL de error HRESULT. |
| Estructura hresult_out_of_bounds | Tipo derivado de winrt::hresult_error, que representa un E_BOUNDS de error HRESULT. |
| Estructura hresult_wrong_thread | Tipo derivado de winrt::hresult_error, que representa un RPC_E_WRONG_THREAD de error HRESULT. |
| Plantilla de estructura implements | Plantilla de estructura base que implementa una o varias interfaces Windows Runtime en nombre de un tipo derivado. |
| Plantilla de estructura map_base | Una clase base, de la que puede derivar, que representa una colección asociativa no observable. |
| Plantilla de estructura map_view_base | Una clase base, de la que puede derivar, que representa una vista de una secuencia contigua de elementos de una colección asociativa. |
| Estructura no_weak_ref | Tipo de marcador que se usa para no admitir referencias débiles. |
| Estructura de marcador non_agile | Tipo de marcador que se usa para indicar que el tipo no es ágil y, por tanto, no implementa la interfaz IAgileObject. |
| Plantilla de estructura observable_map_base | Una clase base, de la que puede derivar, que representa una colección asociativa observable. |
| Plantilla de estructura observable_vector_base | Una clase base, de la que puede derivar, que representa un vector observable. |
| Estructura de marcador static_lifetime | Tipo de marcador que se usa para optar por un generador de activación en para la duración estática. |
| Plantilla de estructura vector_base | Una clase base, de la que puede derivar, 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) se 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 encapsula (o boxe) 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 | 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 | Una función auxiliar que comprueba si un valor es false y, si es así, recupera el valor de código de último error del subproceso que realiza la llamada y produce una excepción mediante un objeto de 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í, inicia una excepción mediante un objeto de 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 de código de último error del subproceso que realiza la llamada y produce una excepción mediante un objeto de 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 a un identificador o a un puntero de un objeto de 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 inicia si no se realiza correctamente. |
| Función detach_abi | Función auxiliar que separa 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, dado 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 IUnknownsubyacente de un objeto de C++/WinRT. |
| Plantilla de función get_activation_factory | Función auxiliar que recupera el generador de activación para un tipo de clase Windows Runtime especificado. |
| Función get_cancellation_token | En una corrotina, 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 corrotina, 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, dado 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 de C++/WinRT. |
| Función get_unknown | Función auxiliar que devuelve la dirección de la interfaz IUnknown sin procesar 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, una coclase o una 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 generador que devuelve una instancia de un tipo o interfaz proyectados 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 generador que devuelve un com_ptr a una instancia del tipo de implementación para 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 del puntero de interfaz IUnknown subyacente de un objeto 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 corrotina que puede cambiar la ejecución a un subproceso de primer — plano co_await específico. |
| resume_on_signal | Función que puede usar para suspender 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 (asignación). El objeto se devuelve como 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 (map). 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 un IVector. |
| Función swap | Función auxiliar que intercambia el contenido de dos valores. |
| Función throw_hresult | Función auxiliar que toma un código de error HRESULT e inicia una excepción mediante un objeto de 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 e inicia una excepción mediante un objeto de 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 producida 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. |
| Función to_string | 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 | Plantilla de función que llama a una función o método especificados, captura el puntero de interfaz que se genera de la función o método y lo devuelve como winrt::com_ptr o un com_ptr vacío si no se realiza 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 realiza correctamente. |
| Plantilla de función try_get_activation_factory | Función auxiliar que recupera el generador de activación para un tipo de clase 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 desencapsula) 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 desencapsula) 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 Windows Runtime API
Existen funciones de extensión en los tipos de proyección de C++/WinRT para ciertas WINDOWS RUNTIME API. 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 aplicación (ABI) de los tipos Windows Runtime reales, por lo que no aparecen como miembros de las API Windows Runtime aplicación. Pero puedes llamarlos desde cualquier proyecto de 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. |