namespace winrt (C++/WinRT)

O namespace winrt fornece tipos de dados personalizados pertencentes ao C++/WinRT— a projeção de linguagem C++17 padrão e moderna para APIs de Windows Runtime (WinRT). Esses tipos personalizados fornecem conversões apropriadas de e para tipos padrão para que, na maior parte do tempo, você possa continuar a usar os recursos de linguagem C++ padrão que você está acostumado a usar e o código-fonte que você já tem.

Também são fornecidas no namespace winrt funções (para criar instâncias de classe de runtime, conversão boxing e unboxing, etc.), ponteiros inteligentes e outras instalações.

Tipos no namespace winrt

Type Descrição
modelo de struct agile_ref Um tipo que representa uma referência ágil a um objeto ou interface C++/WinRT.
struct apartment_context Captura o contexto de thread em uma corrotina para que ele possa ser restaurado posteriormente.
modelo de struct array_view Uma exibição ou intervalo de uma série contígua de valores.
struct de marcador auto_revoke_t Um tipo de marcador usado para solicitar um revogador de eventos ao registrar um delegado para manipular um evento.
modelo de struct de marcador camuflado Um tipo de marcador usado para indicar que uma interface implementada não deve ser relatada por IInspectable::GetIids
struct clock Um tipo que contém funções auxiliares estáticas para converter um Windows::Foundation::D ateTime (ou seja, um std::chrono::time_point) de e para winrt::file_time e de e para time_t.
modelo de struct com_array Uma exibição ou intervalo de uma série contígua de valores para passar de e para Windows Runtime APIs.
modelo de struct com_ptr Um modelo de ponteiro inteligente COM contado por referência.
struct de marcador combinável Um tipo de marcador usado para indicar que o tipo pode ser a classe interna de uma classe combinável.
compondo struct de marcador Um tipo de marcador usado para indicar que o tipo é a classe externa de uma classe combinável.
deferrable_event_args Um tipo que você pode usar para implementar (produzir) o padrão de evento adiável.
modelo de struct delegate Um tipo que você pode usar para declarar um tipo de delegado personalizado para seus próprios eventos.
modelo de struct event Um tipo que você pode usar para declarar e implementar um evento de um tipo delegado especificado.
modelo de struct event_revoker Ao registrar um delegado, você pode solicitar um revogador de eventos, que pode ser usado para revogar seu delegado automaticamente ou manualmente.
struct event_token Um token retornado ao registrar um delegado de manipulação de eventos com um evento; pode ser usado para revogar o registro do mesmo delegado.
struct file_handle Representa um objeto de identificador de arquivo do Windows.
struct fire_and_forget Use esse tipo de retorno para tornar sua corrotina um tipo fire-and-forget.
struct guid Representa um GUID (identificador global exclusivo).
struct handle Representa um objeto de identificador do Windows.
modelo de struct handle_type O modelo para os structs winrt::handle e winrt::file_handle .
struct hstring Uma coleção sequencial de caracteres Unicode UTF-16 que representam uma cadeia de caracteres de texto.
struct hresult_access_denied Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_ACCESSDENIED.
struct hresult_canceled Um tipo derivado de winrt::hresult_error, representando um código de erro HRESULT ERROR_CANCELLED.
struct hresult_changed_state Um tipo derivado de winrt::hresult_error, representando um código de erro HRESULT E_CHANGED_STATE.
struct hresult_class_not_available Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT CLASS_E_CLASSNOTAVAILABLE.
struct hresult_error Um tipo que representa um código de erro HRESULT.
struct hresult_illegal_delegate_assignment Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_ILLEGAL_DELEGATE_ASSIGNMENT.
struct hresult_illegal_method_call Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_ILLEGAL_METHOD_CALL.
struct hresult_illegal_state_change Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_ILLEGAL_STATE_CHANGE.
struct hresult_invalid_argument Um tipo derivado de winrt::hresult_error, representando um código de erro HRESULT E_INVALIDARG.
struct hresult_no_interface Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_NOINTERFACE.
struct hresult_not_implemented Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_NOTIMPL.
struct hresult_out_of_bounds Um tipo derivado de winrt::hresult_error, que representa um código de erro HRESULT E_BOUNDS.
struct hresult_wrong_thread Um tipo derivado de winrt::hresult_error, representando um código de erro HRESULT RPC_E_WRONG_THREAD.
modelo de struct implements Um modelo de struct base que implementa uma ou mais interfaces Windows Runtime em nome de um tipo derivado.
modelo de struct map_base Uma classe base, da qual você deriva, que representa uma coleção associativa não observável.
modelo de struct map_view_base Uma classe base, para você derivar, que representa uma exibição de uma sequência contígua de elementos em uma coleção associativa.
struct de marcador no_module_lock Um tipo de marcador usado para indicar que as instâncias de um tipo não contam para a contagem de objetos do módulo.
struct de marcador no_weak_ref Um tipo de marcador usado para recusar o suporte de referência fraca.
struct de marcador non_agile Um tipo de marcador usado para indicar que seu tipo não é ágil e, consequentemente, não implementa a interface IAgileObject.
modelo de struct observable_map_base Uma classe base, para você derivar, que representa uma coleção associativa observável.
modelo de struct observable_vector_base Uma classe base da qual você deriva, que representa um vetor observável.
struct de marcador static_lifetime Um tipo de marcador usado para optar por uma fábrica de ativação no tempo de vida estático.
modelo de struct vector_base Uma classe base, da qual você deriva, que representa uma coleção de uso geral não observável conhecida como vetor.
modelo de struct vector_view_base Uma classe base da qual você pode derivar para implementar sua própria exibição personalizada, ou span, de uma sequência contígua de elementos em uma coleção de uso geral.
modelo de struct weak_ref Um tipo que representa uma referência fraca a um objeto ou interface C++/WinRT.
struct Windows::Foundation::IUnknown Cada classe de runtime do C++/WinRT (seja uma classe de runtime do Windows ou de terceiros) deriva de winrt::Windows::Foundation::IUnknown.

Funções no namespace winrt

Função Descrição
função attach_abi Uma função auxiliar que anexa um objeto C++/WinRT a um identificador ou a um ponteiro bruto que possui uma referência ao seu destino.
modelo de função box_value Um modelo de função que encapsula (ou caixas) um valor escalar ou de matriz dentro de um objeto de classe de referência para que ele possa ser passado para uma função que espera IInspectable.
modelo de função capture Um modelo de função que chama uma função ou método especificado, captura o ponteiro de interface resultante e o retorna como um winrt::com_ptr.
modelo de função check_bool Uma função auxiliar que verifica se um valor é falso e, em caso afirmativo, recupera o valor do último código de erro do thread de chamada e gera uma exceção usando um objeto C++/WinRT que representa esse código de erro.
função check_hresult Uma função auxiliar que verifica se um código HRESULT representa um erro e, nesse caso, gera uma exceção usando um objeto C++/WinRT que representa o código de erro.
modelo de função check_nt Uma função auxiliar que verifica se um código representa um erro e, em caso afirmativo, mapeia o valor de status NT do código de erro para um valor HRESULT e gera uma exceção usando um objeto C++/WinRT que representa o código de erro.
modelo de função check_pointer Uma função auxiliar que verifica se um ponteiro é nulo e, em caso afirmativo, recupera o valor de código de último erro do thread de chamada e gera uma exceção usando um objeto C++/WinRT que representa esse código de erro.
modelo de função check_win32 Uma função auxiliar que verifica se um código representa um erro e, em caso afirmativo, mapeia o código de erro do sistema do valor para um valor HRESULT e gera uma exceção usando um objeto C++/WinRT que representa o código de erro.
função copy_from_abi Uma função auxiliar que copia para um objeto C++/WinRT de um identificador ou de um ponteiro bruto.
função copy_to_abi Uma função auxiliar que copia para um identificador ou para um ponteiro de um objeto C++/WinRT.
modelo de função create_instance Um modelo de função que cria um único objeto não inicializado da classe associada a um CLSID especificado e o retorna como um winrt::com_ptr ou gera se não for bem-sucedido.
função detach_abi Uma função auxiliar que desanexa um objeto C++/WinRT de seu identificador referenciado ou de sua interface referenciada.
modelo de função from_abi Uma função auxiliar que, considerando um objeto de um tipo projetado, recupera um ponteiro para a implementação.
função get_abi Uma função auxiliar que recupera um ponteiro para a interface IUnknown subjacente de um objeto C++/WinRT.
modelo de função get_activation_factory Uma função auxiliar que recupera a fábrica de ativação para um tipo de classe Windows Runtime especificado.
função get_cancellation_token Em uma corrotina, use o objeto retornado por winrt::get_cancellation_token para sondar ou responder ao cancelamento.
função get_class_name Uma função auxiliar que recupera uma cadeia de caracteres que contém o nome de tipo totalmente qualificado de uma classe de Windows Runtime especificada.
função get_interfaces Uma função auxiliar que recupera uma matriz que contém os identificadores das interfaces implementadas por um objeto C++/WinRT.
função get_progress_token Em uma corrotina, use o objeto retornado por winrt::get_progress_token para relatar o progresso de volta para um manipulador de progresso.
modelo de função get_self Uma função auxiliar que, considerando um objeto de um tipo projetado, recupera um ponteiro para a implementação.
função get_trust_level Uma função auxiliar que recupera o nível de confiança de um objeto C++/WinRT.
função get_unknown Uma função auxiliar que retorna o endereço da interface IUnknown bruta subjacente de um objeto de um tipo projetado.
modelo de função guid_of Um modelo de função auxiliar que recupera o GUID de uma classe de runtime, coclass ou interface.
modelo de função is_guid_of Um modelo de função auxiliar que determina se o GUID fornecido é ou não o de uma das classes de runtime, coclasses ou interfaces especificadas.
modelo de função make Um método de fábrica que retorna uma instância de um tipo ou interface projetado quando parametrizado com o tipo de implementação correspondente.
modelo de função make_agile Uma função auxiliar que retorna um objeto agile_ref , representando uma referência ágil a um objeto ou interface C++/WinRT.
modelo de função make_self Um método de fábrica que retorna uma com_ptr a uma instância do tipo de implementação para uma classe de runtime.
modelo de função make_weak Uma função auxiliar que retorna um objeto weak_ref , representando uma referência fraca a um objeto ou interface C++/WinRT.
modelo de função name_of Uma função auxiliar que recupera uma exibição de cadeia de caracteres que contém o nome de tipo totalmente qualificado de uma classe de Windows Runtime específica.
Função put_abi Uma função auxiliar que recupera o endereço do ponteiro de interface IUnknown subjacente de um objeto C++/WinRT para que ele possa ser definido como outro valor.
Função resume_after Uma função auxiliar que retorna o controle para o chamador e, em seguida, retoma a execução em um thread do pool de threads após um atraso.
função resume_background Uma função auxiliar que retorna o controle para o chamador e retoma a execução em um thread do pool de threads.
função resume_foreground Uma função auxiliar , para uso dentro de uma corrotina , que você pode co_await alternar a execução para um thread de primeiro plano específico.
resume_on_signal Uma função que você pode usar para suspender até que um evento de kernel seja sinalizado.
modelo de função single_threaded_map Um modelo de função que cria e retorna um objeto de um tipo que implementa uma coleção associativa não observável (mapa). O objeto é retornado como um IMap.
modelo de função single_threaded_observable_map Um modelo de função que cria e retorna um objeto de um tipo que implementa uma coleção associativa observável (mapa). O objeto é retornado como um IObservableMap.
modelo de função single_threaded_observable_vector Um modelo de função que cria e retorna um objeto de um tipo que implementa uma coleção observável. O objeto é retornado como um IObservableVector.
modelo de função single_threaded_vector Um modelo de função que cria e retorna um objeto de um tipo que implementa uma coleção de uso geral. O objeto é retornado como um IVector.
Função swap Uma função auxiliar que troca o conteúdo de dois valores.
função throw_hresult Uma função auxiliar que usa um código de erro HRESULT e gera uma exceção usando um objeto C++/WinRT que representa esse código de erro.
função throw_last_error Uma função auxiliar que recupera o valor do último código de erro do thread de chamada e gera uma exceção usando um objeto C++/WinRT que representa esse código de erro.
função to_hresult Uma função auxiliar, para uso em um bloco catch, que transforma a última exceção lançada em um código de erro HRESULT.
função to_hstring Uma função auxiliar que converte um valor de entrada em um winrt::hstring que contém a representação de cadeia de caracteres do valor.
Função to_string Uma função auxiliar que converte uma cadeia de caracteres de entrada larga em uma std::string que contém uma cadeia de caracteres estreita UTF-8.
modelo de função try_capture Um modelo de função que chama uma função ou método especificado, captura o ponteiro de interface que é a saída da função ou método e o retorna como um winrt::com_ptr ou um com_ptr vazio, se não for bem-sucedido.
modelo de função try_create_instance Um modelo de função que cria um único objeto não inicializado da classe associada a um CLSID especificado e o retorna como um winrt::com_ptr ou um com_ptr vazio, se não for bem-sucedido.
Modelo de função try_get_activation_factory Uma função auxiliar que recupera a fábrica de ativação para um tipo de classe Windows Runtime especificado ou um com_ptr vazio, se não for bem-sucedido.
modelo de função unbox_value Um modelo de função que desembrulha (ou unboxes) um valor escalar ou de matriz de dentro de um objeto de classe de referência para que ele possa ser processado em uma função que espera IInspectable.
modelo de função unbox_value_or Um modelo de função que desembrulha (ou unboxes) um valor escalar de dentro de um objeto de classe de referência, com um valor de fallback, para que ele possa ser processado em uma função que espera IInspectable.
modelo de função xaml_typename Uma função auxiliar que retorna o nome do tipo de um tipo Windows Runtime, na forma de um objeto Windows::UI::Xaml::Interop::TypeName.

Funções C++/WinRT que estendem APIs de Windows Runtime

Existem funções de extensão nos tipos de projeção C++/WinRT para determinadas APIs de Windows Runtime. Por exemplo, winrt::Windows::Foundation::IAsyncAction é o tipo de projeção C++/WinRT para IAsyncAction. As funções de extensão não fazem parte da superfície da ABI (interface binária do aplicativo) dos tipos de Windows Runtime reais, portanto, elas não são listadas como membros das APIs de Windows Runtime. Mas você pode chamá-los de dentro de qualquer projeto C++/WinRT.

API do WinRT Funções Descrição
IAsyncAction get, wait_for Consulte Funções de extensão IAsyncAction C++/WinRT
IAsyncActionWithProgress get, wait_for Consulte Funções de extensão C++/WinRT IAsyncActionWithProgress
IAsyncOperation get, wait_for Consulte Funções de extensão IAsyncOperation C++/WinRT
IAsyncOperationWithProgress get, wait_for Consulte Funções de extensão C++/WinRT de IAsyncOperationWithProgress
IBindableIterable begin, end Consulte Funções de extensão C++/WinRT IBindableIterable
IBindableIterator begin, end, operator++, operator++(int), operator* Consulte Funções de extensão do IBindableIterator C++/WinRT
IBuffer data Confira Funções de extensão do IBuffer C++/WinRT
IIterable begin, end Consulte Funções de extensão IIterable C++/WinRT
IIterator operator++, operator++(int), operator* Consulte Funções de extensão do IIterator C++/WinRT
IKeyValuePair operator== Consulte Funções de extensão IKeyValuePair C++/WinRT
Imap begin, end, TryLookup, TryRemove Confira Funções de extensão do IMap C++/WinRT
IMapView begin, end, TryLookup Consulte Funções de extensão do IMapView C++/WinRT
IMemoryBufferReference data Consulte Funções de extensão IMemoryBufferReference C++/WinRT
IVector begin, end Confira Funções de extensão IVector C++/WinRT
IVectorView begin, end Confira Funções de extensão do IVectorView C++/WinRT

Outras funções

Função Descrição
Função GetRuntimeClassName Uma função membro (de um tipo de implementação gerado) que retorna uma cadeia de caracteres que contém o nome de tipo totalmente qualificado da classe Windows Runtime que está sendo implementada.

Confira também

C++/WinRT