Freigeben über


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

_ATL_MODULE

CAtlModule

CAtlModuleT

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