Sdílet prostřednictvím


CAtlDllModuleT – třída

Tato třída představuje modul pro knihovnu DLL.

Syntaxe

template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>

Parametry

T
Vaše třída odvozená z CAtlDllModuleT.

Členové

Veřejné konstruktory

Jméno popis
CAtlDllModuleT::CAtlDllModuleT Konstruktor
CAtlDllModuleT::~CAtlDllModuleT Destruktor.

Veřejné metody

Jméno popis
CAtlDllModuleT::D llCanUnloadNow Testuje, zda lze knihovnu DLL uvolnit.
CAtlDllModuleT::D llGetClassObject Vrátí objekt pro vytváření tříd.
CAtlDllModuleT::D llMain Volitelný vstupní bod do knihovny dynamického propojení (DLL).
CAtlDllModuleT::D llRegisterServer Přidá položky do systémového registru pro objekty v knihovně DLL.
CAtlDllModuleT::D llUnregisterServer Odebere položky v systémovém registru pro objekty v knihovně DLL.
CAtlDllModuleT::GetClassObject Vrátí objekt pro vytváření tříd. Vyvolána objektem DllGetClassObject.

Poznámky

CAtlDllModuleT představuje modul pro dynamickou knihovnu (DLL) a poskytuje funkce používané všemi projekty dll. Tato specializace CAtlModuleT třídy zahrnuje podporu registrace.

Další informace o modulech v ATL najdete v tématu Třídy modulů ATL.

Hierarchie dědičnosti

_ATL_MODULE

CAtlModule

CAtlModuleT

CAtlDllModuleT

Požadavky

Hlavička: atlbase.h

CAtlDllModuleT::CAtlDllModuleT

Konstruktor

CAtlDllModuleT() throw();

CAtlDllModuleT::~CAtlDllModuleT

Destruktor.

~CAtlDllModuleT() throw();

CAtlDllModuleT::D llCanUnloadNow

Testuje, zda lze knihovnu DLL uvolnit.

HRESULT DllCanUnloadNow() throw();

Vrácená hodnota

Vrátí S_OK, pokud lze knihovnu DLL uvolnit, nebo S_FALSE, pokud ji nelze.

CAtlDllModuleT::D llGetClassObject

Vrátí objekt pro vytváření tříd.

HRESULT DllGetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

Parametry

rclsid
CLSID objektu, který se má vytvořit.

riid
IID požadovaného rozhraní.

Ppv
Ukazatel na ukazatel rozhraní identifikovaný riidem. Pokud objekt nepodporuje toto rozhraní, ppv je nastaven na hodnotu NULL.

Vrácená hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CAtlDllModuleT::D llMain

Volitelný vstupní bod do knihovny dynamického propojení (DLL).

BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();

Parametry

dwReason
Pokud je nastavená hodnota DLL_PROCESS_ATTACH, jsou DLL_THREAD_ATTACH a DLL_THREAD_DETACH oznámení zakázány.

lpReserved
Vyhrazena.

Vrácená hodnota

Vždy vrátí hodnotu PRAVDA.

Poznámky

Zakázání volání oznámení DLL_THREAD_ATTACH a DLL_THREAD_DETACH může být užitečnou optimalizací pro vícevláknové aplikace, které mají mnoho knihoven DLL, které často vytvářejí a odstraňují vlákna a jejichž knihovny DLL nepotřebují tato oznámení na úrovni vlákna přílohy nebo odpojení.

CAtlDllModuleT::D llRegisterServer

Přidá položky do systémového registru pro objekty v knihovně DLL.

HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();

Parametry

bRegTypeLib
TRUE, pokud je knihovna typů registrována. Výchozí hodnota je PRAVDA.

Vrácená hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CAtlDllModuleT::D llUnregisterServer

Odebere položky v systémovém registru pro objekty v knihovně DLL.

HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();

Parametry

bUnRegTypeLib
TRUE, pokud je knihovna typů odebrána z registru. Výchozí hodnota je PRAVDA.

Vrácená hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CAtlDllModuleT::GetClassObject

Vytvoří objekt zadaného CLSID.

HRESULT GetClassObject(
    REFCLSID rclsid,
    REFIID riid,
    LPVOID* ppv) throw();

Parametry

rclsid
CLSID objektu, který se má vytvořit.

riid
IID požadovaného rozhraní.

Ppv
Ukazatel na ukazatel rozhraní identifikovaný riidem. Pokud objekt nepodporuje toto rozhraní, ppv je nastaven na hodnotu NULL.

Vrácená hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Tato metoda je volána CAtlDllModuleT::D llGetClassObject a je zahrnuta pro zpětnou kompatibilitu.

Viz také

CAtlModuleT – třída
CAtlExeModuleT – třída
Přehled třídy
Třídy modulů