Klasa CAtlDllModuleT
Ta klasa reprezentuje moduł biblioteki DLL.
Składnia
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Parametry
T
Klasa pochodzi z klasy CAtlDllModuleT
.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Konstruktor. |
CAtlDllModuleT::~CAtlDllModuleT | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CAtlDllModuleT::D llCanUnloadNow | Sprawdza, czy biblioteka DLL może zostać zwolniona. |
CAtlDllModuleT::D llGetClassObject | Zwraca fabrykę klas. |
CAtlDllModuleT::D llMain | Opcjonalny punkt wejścia do biblioteki linków dynamicznych (DLL). |
CAtlDllModuleT::D llRegisterServer | Dodaje wpisy do rejestru systemowego dla obiektów w dll. |
CAtlDllModuleT::D llUnregisterServer | Usuwa wpisy w rejestrze systemowym dla obiektów w dll. |
CAtlDllModuleT::GetClassObject | Zwraca fabrykę klas. Wywoływane przez dllGetClassObject. |
Uwagi
CAtlDllModuleT
reprezentuje moduł biblioteki dll (dynamic-link library) i udostępnia funkcje używane przez wszystkie projekty DLL. Ta specjalizacja klasy CAtlModuleT obejmuje obsługę rejestracji.
Aby uzyskać więcej informacji na temat modułów w atl, zobacz ATL Module Classes (Klasy modułów ATL).
Hierarchia dziedziczenia
CAtlDllModuleT
Wymagania
Nagłówek: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
Konstruktor.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
Destruktora.
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Sprawdza, czy biblioteka DLL może zostać zwolniona.
HRESULT DllCanUnloadNow() throw();
Wartość zwracana
Zwraca S_OK, jeśli biblioteka DLL może zostać zwolniona lub S_FALSE, jeśli nie może.
CAtlDllModuleT::D llGetClassObject
Zwraca fabrykę klas.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parametry
rclsid
Identyfikator CLSID obiektu do utworzenia.
riid
Identyfikator IID żądanego interfejsu.
ppv
Wskaźnik do wskaźnika interfejsu zidentyfikowany przez riid. Jeśli obiekt nie obsługuje tego interfejsu, wartość ppv jest ustawiona na wartość NULL.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CAtlDllModuleT::D llMain
Opcjonalny punkt wejścia do biblioteki linków dynamicznych (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Parametry
dwReason
Jeśli ustawiono wartość DLL_PROCESS_ATTACH, wywołania powiadomień DLL_THREAD_ATTACH i DLL_THREAD_DETACH są wyłączone.
lpReserved
Zarezerwowany.
Wartość zwracana
Zawsze zwraca wartość TRUE.
Uwagi
Wyłączenie DLL_THREAD_ATTACH i wywołań powiadomień DLL_THREAD_DETACH może być przydatną optymalizacją dla aplikacji wielowątków, które mają wiele bibliotek DLL, które często tworzą i usuwają wątki, i których biblioteki DLL nie wymagają tych powiadomień na poziomie wątku o załączniku/odłączeniu.
CAtlDllModuleT::D llRegisterServer
Dodaje wpisy do rejestru systemowego dla obiektów w dll.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Parametry
bRegTypeLib
Wartość TRUE, jeśli biblioteka typów ma zostać zarejestrowana. Wartość domyślna to TRUE.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CAtlDllModuleT::D llUnregisterServer
Usuwa wpisy w rejestrze systemowym dla obiektów w dll.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Parametry
bUnRegTypeLib
Wartość TRUE, jeśli biblioteka typów ma zostać usunięta z rejestru. Wartość domyślna to TRUE.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CAtlDllModuleT::GetClassObject
Tworzy obiekt określonego identyfikatora CLSID.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Parametry
rclsid
Identyfikator CLSID obiektu do utworzenia.
riid
Identyfikator IID żądanego interfejsu.
ppv
Wskaźnik do wskaźnika interfejsu zidentyfikowany przez riid. Jeśli obiekt nie obsługuje tego interfejsu, wartość ppv jest ustawiona na wartość NULL.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Ta metoda jest wywoływana przez klasę CAtlDllModuleT::D llGetClassObject i jest uwzględniona w celu zapewnienia zgodności z poprzednimi wersjami.
Zobacz też
Klasa CAtlModuleT
Klasa CAtlExeModuleT
Omówienie klasy
Klasy modułów