Compartilhar via


DllCanUnloadNow

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função determina se a dynamic-link library (DLL) que implementa essa função está em uso. Se não for, o chamador segura pode descarregar a DLL de memória.

Observação

OLE não fornece essa função.As DLLs que suporte o OLE Component Object Model (COM) deve implementar e exportar DllCanUnloadNow.

Syntax

STDAPI DllCanUnloadNow(void);

Parameters

Nenhum.

Return Value

Valor Descrição

S_OK

O DLL pode ser descarregado.

S_FALSE

O DLL não pode ser descarregado agora.

Remarks

Um chamar para DllCanUnloadNow Determina se o DLL do qual ele é exportado é ainda em uso. Um DLL não está mais em uso quando ele não está gerenciando quaisquer objetos existentes, ou seja, quando o contagem de referência em todos os seus objetos é zero.

Notas para chamadores

Você não precisa chamar DllCanUnloadNow diretamente. OLE chama apenas por um chamar para o CoFreeUnusedLibraries função. Quando ela Retorna S_OK, CoFreeUnusedLibraries Com segurança libera o DLL.

Notas para Implementers

Você precisa implementar DllCanUnloadNow Em e exportá-lo, as DLLs que devem ser carregadas dinamicamente por um chamar para o CoGetClassObject função. Você também precisará implementar e exportar o DllGetClassObject função no mesmo DLL.

Se um DLL carregado por um chamar para CoGetClassObject Falha ao exportar DllCanUnloadNow, o DLL não será descarregado até que as chamadas aplicativo o CoUninitialize função a versão de OLE bibliotecas.

Se o DLL links para outro DLL e DllCanUnloadNow Retorna S_OK, o primário e o dependente DLL será descarregado. Para eliminar a possibilidade de um falhar, deve DLL o primário chamar o CoLoadLibrary função, especificando o caminho para o segundo DLL como o primeiro parâmetro e configuração de automática livre parâmetro para TRUE. Isso força a biblioteca COM para recarregar o segundo DLL e defini-la up for um chamar para CoFreeUnusedLibraries a livre-lo separadamente quando apropriado.

DllCanUnloadNow deve retornar S_FALSE se há quaisquer referências existentes aos objetos que gerencia a DLL.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library oleaut32.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

CoFreeUnusedLibraries
CoGetClassObject
CoLoadLibrary
CoUninitialize
DllGetClassObject