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
Název | Popis |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Konstruktor |
CAtlDllModuleT::~CAtlDllModuleT | Destruktor. |
Veřejné metody
Název | 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
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();
Návratová 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.
Návratová 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
Vyhrazeno.
Návratová 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.
Návratová 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.
Návratová 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.
Návratová 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ů