Aplicativos do Windows
Recolher sumário
Expandir sumário
Informações
O tópico solicitado está sendo mostrado abaixo. No entanto, este tópico não está incluído nesta biblioteca.

Biblioteca de Modelos C++ do Windows Runtime (WRL)

 

Para obter a documentação mais recente do Visual Studio 2017, consulte a documentação do Visual Studio 2017.

O Biblioteca em Tempo de Execução C++ do Tempo de Execução do Windows (WRL) é uma biblioteca de modelo que fornece uma maneira de baixo nível para criar e usar Tempo de Execução do Windows componentes.

O WRL permite implementar mais facilmente e consumir componentes do modelo de objeto de componente (COM). Ele fornece técnicas de manutenção do sistema como a contagem de referência gerenciar o tempo de vida de objetos e teste HRESULT valores para determinar se uma operação teve êxito ou falhou. Para usar com êxito o WRL, você deve seguir cuidadosamente essas regras e técnicas.

O Extensões de componentes Visual C++ (C++/CX) é uma maneira de alto nível, com base em idioma usar Tempo de Execução do Windows componentes. Tanto o WRL e C++/CX simplificar a escrita de código para o Tempo de Execução do Windows executar automaticamente tarefas de manutenção em seu nome.

O WRL e C++/CX oferece benefícios diferentes. Aqui estão alguns motivos que você talvez queira usar o WRL em vez de C++/CX:

  • WRL Adiciona um pouco de abstração sobre a Tempo de Execução do Windows Application Binary Interface (ABI), oferecendo a capacidade de controlar o código subjacente para criar ou consumir melhor Tempo de Execução do Windows APIs.

  • C++/CX representa COM HRESULT valores como exceções. Se você acabou de herdar uma base de código que usa COM, ou um que não use exceções, você pode achar que o WRL é uma forma mais natural para trabalhar com o Tempo de Execução do Windows porque você não precisa usar exceções.

    System_CAPS_ICON_note.jpg Observação

    O WRL usa HRESULT valores e não lançam exceções. Além disso, o WRL usa inteligente ponteiros e o padrão RAII para ajudar a garantir que os objetos são destruídos corretamente quando o código do aplicativo gera uma exceção. Para obter mais informações sobre ponteiros inteligentes e RAII, consulte ponteiros inteligentes e objetos próprios recursos (RAII).

  • A finalidade e o design dos WRL inspirado pela biblioteca ATL (Active Template), que é um conjunto de classes C++ baseadas em modelos que simplifica a programação de objetos COM. Porque WRL usa C++ padrão para encapsular o Tempo de Execução do Windows, você pode mais facilmente a porta e interagir com vários componentes COM existentes escritos em ATL para o Tempo de Execução do Windows. Se você já souber ATL, talvez descubra que WRL programação é mais fácil.

Aqui estão alguns recursos que podem ajudá-lo a trabalhar com o WRL imediatamente.

Biblioteca de tempo de execução do Windows (WRL)
Neste vídeo do Channel 9, saiba mais sobre como o WRL Ajuda a escrever Windows Store 8.x aplicativos e como criar e consumir Tempo de Execução do Windows componentes.

Como: ativar e usar um componente de tempo de execução do Windows
Mostra como usar o WRL para inicializar o Tempo de Execução do Windows e ativar e usar um Tempo de Execução do Windows componente.

Como: executar operações assíncronas
Mostra como usar o WRL para iniciar operações assíncronas e executar o trabalho quando as operações concluídas.

Como: manipular eventos
Mostra como usar o WRL para assinar e tratar os eventos de um Tempo de Execução do Windows objeto.

Passo a passo: Criando um componente de tempo de execução básico do Windows
Mostra como usar o WRL para criar um basic Tempo de Execução do Windows componente que adiciona dois números. Também demonstra como gerar eventos e usar o componente de um Windows Store 8.x aplicativo que usa JavaScript.

Passo a passo: Criando um aplicativo da Windows Store usando WRL e Media Foundation
Saiba como criar um Windows Store 8.x aplicativo que usa Microsoft Media Foundation.

Como: criar um componente COM clássico
Mostra como usar o WRL para criar um componente básico e uma maneira básica de registrar e consumir o componente COM um aplicativo de desktop.

Como: instanciar componentes WRL diretamente
Saiba como usar o Microsoft::WRL::Make e Microsoft::WRL::Details::MakeAndInitialize funções para criar uma instância de um componente do módulo que o define.

Como: usar winmdidl.exe e midlrt.exe para criar arquivos. h de metadados do windows
Mostra como consumir componentes personalizados de tempo de execução do Windows da WRL, criando um arquivo IDL dos metadados. winmd.

Passo a passo: Conexão usando tarefas e solicitações HTTP XML
Mostra como usar o IXMLHTTPRequest2 e IXMLHTTPRequest2Callback interfaces junto com tarefas para enviar solicitações HTTP GET e POST para um serviço web em um Windows Store 8.x aplicativo.

Exemplo do Bing Maps Trip Optimizer
Usa a HttpRequest classe definida em passo a passo: conectando usando tarefas e solicitações HTTP XML no contexto de um conjunto completo Windows Store 8.x aplicativo.

Criando um componente de DLL de tempo de execução do Windows com o exemplo do C++
Mostra como usar o WRL para criar um componente DLL em processo e consumi-lo em C + + / CX, JavaScript e c#.

Exemplo de jogos do DirectX marble maze
Demonstra como usar o WRL para gerenciar o tempo de vida de componentes COM, como o DirectX e Media Foundation no contexto de um jogo 3D completo.

Enviar notificações de exemplo de aplicativos de desktop
Demonstra como usar o WRL para trabalhar com notificações de um aplicativo de área de trabalho.

WRL é semelhante a biblioteca ATL (Active Template) porque você pode usá-lo pequeno, criar objetos rápidos. WRL e ATL também compartilham conceitos como definição de objetos em módulos, registro explícito de interfaces e abra a criação de objetos usando fábricas. Talvez você se sinta confortável com WRL se você estiver familiarizado com ATL.

WRL oferece suporte a funcionalidade COM que é necessária para Windows Store 8.x aplicativos. Portanto, ele difere do ATL porque ele omite direto suporte COM recursos como:

  • agregação

  • implementações de estoque

  • interfaces duplas (IDispatch)

  • interfaces de enumerador padrão

  • pontos de conexão

  • interfaces destacável

  • Incorporação OLE

  • Controles ActiveX

  • COM+

WRL fornece tipos que representam alguns conceitos básicos. As seções a seguir descrevem esses tipos.

ComPtr

ComPtr é um ponteiro inteligente tipo que representa a interface especificada pelo parâmetro de modelo. Use ComPtr para declarar uma variável que pode acessar os membros de um objeto que é derivado da interface. ComPtr automaticamente mantém uma contagem de referência para o ponteiro de interface subjacente e libera a interface quando a contagem de referência chega a zero.

RuntimeClass

RuntimeClass representa uma classe instanciada que herda de um conjunto de interfaces especificadas. Um RuntimeClass objeto pode fornecer uma combinação de suporte para um ou mais Tempo de Execução do Windows interfaces COM, ou uma referência fraca em um componente.

Módulo

Módulo representa uma coleção de objetos relacionados. Um Module objeto gerencia fábricas de classe, que criam objetos e registro, que permite que outros aplicativos usar um objeto.

Retorno de chamada

O retorno de chamada função cria um objeto cuja função de membro é um manipulador de eventos (um método de retorno de chamada). Use o Callback função para gravar operações assíncronas.

EventSource

EventSource é usado para gerenciar Delegar manipuladores de eventos. Use WRL para implementar um delegado e usar EventSource para adicionar, remover e invocam delegados.

AsyncBase

AsyncBase fornece métodos virtuais que representam o Tempo de Execução do Windows modelo de programação assíncrona. Substitua os membros dessa classe para criar uma classe personalizada que podem iniciar, parar ou verificar o andamento de uma operação assíncrona.

FtmBase

FtmBase representa um objeto de empacotamento de segmentação livre. FtmBase cria uma tabela de interface global (GIT) e ajuda a gerenciar objetos de empacotamento e proxy.

WeakRef

WeakRef é um tipo de ponteiro inteligente que representa um referência fraca, que faz referência a um objeto que pode ou não estar acessível. Um WeakRef objeto pode ser usado somente pelo Tempo de Execução do Windows, e não por com clássico.

Um WeakRef objeto normalmente representa um objeto cuja existência é controlada por um thread externo ou um aplicativo. Por exemplo, um WeakRef objeto pode fazer referência a um objeto de arquivo. Quando o arquivo é aberto, o WeakRef é válida e o arquivo referenciado está acessível. Mas quando o arquivo é fechado, o WeakRef é inválido e o arquivo não está acessível.

Modelo de projeto de biblioteca de classesDescreve como acessar o modelo de projeto de biblioteca de classes WRL. Esse modelo ajuda a simplificar a tarefa de usar o Visual Studio para criar Tempo de Execução do Windows componentes.
APIs de chave por categoriaRealça o primário WRL tipos, funções e macros.
ReferênciaContém informações de referência para o WRL.
Referência rápida (tempo de execução do Windows e Visual C++)Descreve resumidamente a C++/CX recursos que dão suporte a Tempo de Execução do Windows.
Usando componentes de tempo de execução do Windows no Visual C++Mostra como usar C++/CX para criar um basic Tempo de Execução do Windows componente.
Mostrar:
© 2017 Microsoft