Partilhar via


DLLs (C++/CX)

Você pode usar o Visual Studio para criar uma DLL padrão do Win32 ou uma DLL de componente do Windows Runtime que pode ser consumida pelos aplicativos d a Plataforma Universal do Windows (UWP). Uma DLL padrão criada com uma versão do Visual Studio ou do compilador Microsoft C++ que seja mais antiga do que o compilador o Visual Studio 2012 talvez não seja carregada corretamente em um aplicativo UWP e pode ser que não passe no teste de verificação de aplicativo na Microsoft Store.

DLLs de componente do Windows Runtime

Em quase todos os casos, quando você desejar criar uma DLL para uso em um aplicativo UWP, crie-a como um componente do Windows Runtime usando o modelo de projeto com esse nome. Você pode criar um projeto de componente do Windows Runtime para DLLs que têm tipos do Windows Runtime públicos ou privados. Um componente do Windows Runtime pode ser acessado em aplicativos escritos em qualquer linguagem compatível com o Windows Runtime. Por padrão, as configurações de compilador para um projeto de componente do Windows Runtime usam a opção /ZW. Um arquivo .winmd deve ter o mesmo nome do namespace raiz. Por exemplo, uma classe denominada A.B.C.MyClass poderá ser instanciada somente se for definida em um arquivo de metadados denominado A.winmd ou A.B.winmd ou A.B.C.winmd. O nome da DLL não precisa coincidir com o nome do arquivo .winmd.

Para mais informações, consulte Criando componentes do Windows Runtime em C++.

Para fazer referência a um binário de componente do Windows Runtime de terceiros em seu projeto

  1. Abra o menu de atalho do projeto que usará a DLL e escolha Propriedades. Na página Propriedades Comuns , escolha o botão Adicionar Nova Referência .

  2. Um componente do Windows Runtime consiste em um arquivo DLL e um arquivo .winmd que contém os metadados. Normalmente, esses arquivos estão localizados na mesma pasta. No painel esquerdo da caixa de diálogo Adicionar Referência , escolha o botão Procurar e navegue para o local da DLL e seu arquivo .winmd. Para obter mais informações, consulte SDKs de extensão.

DLLs padrão

Você pode criar uma DLL padrão para código C++ que não consuma ou produza tipos públicos do Tempo de Execução do Windows e consumi-la de um aplicativo UWP. Use o tipo de projeto de Biblioteca de vínculo dinâmico (DLL) quando você quiser apenas migrar para uma DLL existente para compilar nesta versão do Visual Studio, mas não converter o código em um projeto de Componente de Windows Runtime. Quando você usa as etapas a seguir, a DLL será implantada juntamente com o executável de seu aplicativo no pacote .appx.

Para criar uma DLL padrão no Visual Studio

  1. Na barra de menu, escolha Arquivo, Novo, Projeto e, em seguida, selecione o modelo Biblioteca de vínculo dinâmico (DLL).

  2. Digite um nome para o projeto e escolha o botão OK .

  3. Adicione o código. Não se esqueça de usar __declspec(dllexport) para funções que você pretende exportar, por exemplo, __declspec(dllexport) Add(int I, in j);

  4. Adicione #include winapifamily.h para incluir esse arquivo de cabeçalho do SDK do Windows para aplicativos UWP e defina a macro WINAPI_FAMILY=WINAPI_PARTITION_APP.

Para referenciar um projeto de DLL padrão da mesma solução

  1. Abra o menu de atalho do projeto que usará a DLL e escolha Propriedades. Na página Propriedades Comuns , escolha o botão Adicionar Nova Referência .

  2. No painel esquerdo, selecione Soluçãoe marque a caixa de seleção apropriada no painel direito.

  3. Nos arquivos de código de origem, adicione uma instrução #include para o arquivo de cabeçalho de DLL, conforme necessário.

Para referenciar um binário de DLL padrão

  1. Copie os arquivos DLL, .lib e o arquivo de cabeçalho e cole-os em um local conhecido, por exemplo, na pasta do seu projeto atual.

  2. Abra o menu de atalho do projeto que usará a DLL e escolha Propriedades. Na página Propriedades de Configuração, Vinculador, Entrada , adicione o arquivo .lib como uma dependência.

  3. Nos arquivos de código de origem, adicione uma instrução #include para o arquivo de cabeçalho de DLL, conforme necessário.

Para migrar uma Win32 DLL existente para compatibilidade de aplicativo com o UWP

  1. Crie um projeto do tipo DLL do tipo (Universal do Windows) e adicione seu código-fonte existente a ele.

  2. Adicione #include winapifamily.h para incluir esse arquivo de cabeçalho do SDK do Windows para aplicativos UWP e defina a macro WINAPI_FAMILY=WINAPI_PARTITION_APP.

  3. Nos arquivos de código de origem, adicione uma instrução #include para o arquivo de cabeçalho de DLL, conforme necessário.