CAtlDllModuleT-Klasse
Diese Klasse stellt das Modul für eine DLL dar.
Syntax
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parameter
T
Ihre klasse abgeleitet von CAtlDllModuleT
.
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Der Konstruktor. |
CAtlDllModuleT::~CAtlDllModuleT | Der Destruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CAtlDllModuleT::D llCanUnloadNow | Testet, ob die DLL entladen werden kann. |
CAtlDllModuleT::D llGetClassObject | Gibt eine Klassenfactory zurück. |
CAtlDllModuleT::D llMain | Der optionale Einstiegspunkt in eine Dynamic Link Library (DLL). |
CAtlDllModuleT::D llRegisterServer | Fügt der Systemregistrierung Einträge für Objekte in der DLL hinzu. |
CAtlDllModuleT::D llUnregisterServer | Entfernt Einträge in der Systemregistrierung für Objekte in der DLL. |
CAtlDllModuleT::GetClassObject | Gibt eine Klassenfactory zurück. Aufgerufen von DllGetClassObject. |
Hinweise
CAtlDllModuleT
stellt das Modul für eine Dynamic Link Library (DLL) dar und stellt Funktionen bereit, die von allen DLL-Projekten verwendet werden. Diese Spezialisierung der CAtlModuleT-Klasse umfasst Unterstützung für die Registrierung.
Weitere Informationen zu Modulen in ATL finden Sie unter ATL-Modulklassen.
Vererbungshierarchie
CAtlDllModuleT
Anforderungen
Kopfzeile: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
Der Konstruktor.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
Der Destruktor.
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Testet, ob die DLL entladen werden kann.
HRESULT DllCanUnloadNow() throw();
Rückgabewert
Gibt S_OK zurück, wenn die DLL entladen werden kann, oder S_FALSE, wenn dies nicht möglich ist.
CAtlDllModuleT::D llGetClassObject
Gibt die Klassenfactory zurück.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parameter
rclsid
Die CLSID des zu erstellenden Objekts.
riid
Die IID der angeforderten Schnittstelle.
ppv
Ein Zeiger auf den Schnittstellenzeiger, der von riid identifiziert wird. Wenn das Objekt diese Schnittstelle nicht unterstützt, wird ppv auf NULL festgelegt.
Rückgabewert
S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.
CAtlDllModuleT::D llMain
Der optionale Einstiegspunkt in eine Dynamic Link Library (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parameter
dwReason
Bei Festlegung auf DLL_PROCESS_ATTACH werden die DLL_THREAD_ATTACH und DLL_THREAD_DETACH Benachrichtigungsaufrufe deaktiviert.
lpReserved
Reserviert.
Rückgabewert
Gibt immer TRUE zurück.
Hinweise
Das Deaktivieren der DLL_THREAD_ATTACH und DLL_THREAD_DETACH Benachrichtigungsaufrufe kann eine nützliche Optimierung für Multithread-Anwendungen mit vielen DLLs sein, die häufig Threads erstellen und löschen und deren DLLs diese Benachrichtigungen auf Threadebene von Anlagen/Trennungen nicht benötigen.
CAtlDllModuleT::D llRegisterServer
Fügt der Systemregistrierung Einträge für Objekte in der DLL hinzu.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parameter
bRegTypeLib
TRUE, wenn die Typbibliothek registriert werden soll. Der Standardwert ist TRUE.
Rückgabewert
S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.
CAtlDllModuleT::D llUnregisterServer
Entfernt Einträge in der Systemregistrierung für Objekte in der DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parameter
bUnRegTypeLib
TRUE, wenn die Typbibliothek aus der Registrierung entfernt werden soll. Der Standardwert ist TRUE.
Rückgabewert
S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.
CAtlDllModuleT::GetClassObject
Erstellt ein Objekt der angegebenen CLSID.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parameter
rclsid
Die CLSID des zu erstellenden Objekts.
riid
Die IID der angeforderten Schnittstelle.
ppv
Ein Zeiger auf den Schnittstellenzeiger, der von riid identifiziert wird. Wenn das Objekt diese Schnittstelle nicht unterstützt, wird ppv auf NULL festgelegt.
Rückgabewert
S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.
Hinweise
Diese Methode wird von CAtlDllModuleT::D llGetClassObject aufgerufen und ist aus Gründen der Abwärtskompatibilität enthalten.
Siehe auch
CAtlModuleT-Klasse
CAtlExeModuleT-Klasse
Klassenübersicht
Modulklassen