Класс CAtlDllModuleT
Этот класс представляет модуль для библиотеки DLL.
Синтаксис
template <class T>
class ATL_NO_VTABLE CAtlDllModuleT : public CAtlModuleT<T>
Параметры
T
Класс, производный от CAtlDllModuleT
.
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CAtlDllModuleT::CAtlDllModuleT | Конструктор. |
CAtlDllModuleT::~CAtlDllModuleT | Деструктор |
Открытые методы
Имя | Описание |
---|---|
CAtlDllModuleT::D llCanUnloadNow | Проверяет, можно ли выгрузить библиотеку DLL. |
CAtlDllModuleT::D llGetClassObject | Возвращает фабрику классов. |
CAtlDllModuleT::D llMain | Необязательная точка входа в библиотеку динамических ссылок (DLL). |
CAtlDllModuleT::D llRegisterServer | Добавляет записи в системный реестр для объектов в библиотеке DLL. |
CAtlDllModuleT::D llUnregisterServer | Удаляет записи в системном реестре для объектов в библиотеке DLL. |
CAtlDllModuleT::GetClassObject | Возвращает фабрику классов. Вызывается dllGetClassObject. |
Замечания
CAtlDllModuleT
представляет модуль для библиотеки динамической компоновки (DLL) и предоставляет функции, используемые всеми проектами DLL. Эта специализация класса CAtlModuleT включает поддержку регистрации.
Дополнительные сведения о модулях в ATL см. в разделе "Классы модулей ATL".
Иерархия наследования
CAtlDllModuleT
Требования
Заголовок: atlbase.h
CAtlDllModuleT::CAtlDllModuleT
Конструктор.
CAtlDllModuleT() throw();
CAtlDllModuleT::~CAtlDllModuleT
Деструктор
~CAtlDllModuleT() throw();
CAtlDllModuleT::D llCanUnloadNow
Проверяет, можно ли выгрузить библиотеку DLL.
HRESULT DllCanUnloadNow() throw();
Возвращаемое значение
Возвращает S_OK, если библиотеку DLL можно выгрузить или S_FALSE, если она не удается.
CAtlDllModuleT::D llGetClassObject
Возвращает фабрику классов.
HRESULT DllGetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Параметры
rclsid
CLSID создаваемого объекта.
riid
IID запрошенного интерфейса.
ppv
Указатель на указатель интерфейса, определяемый идентификатором riid. Если объект не поддерживает этот интерфейс, ppv имеет значение NULL.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
CAtlDllModuleT::D llMain
Необязательная точка входа в библиотеку динамических ссылок (DLL).
BOOL WINAPI DllMain(DWORD dwReason, LPVOID /* lpReserved*/) throw();
Параметры
dwReason
Если задано значение DLL_PROCESS_ATTACH, вызовы уведомлений DLL_THREAD_ATTACH и DLL_THREAD_DETACH отключаются.
lpReserved
Зарезервировано.
Возвращаемое значение
Всегда возвращает значение TRUE.
Замечания
Отключение вызовов уведомлений DLL_THREAD_ATTACH и DLL_THREAD_DETACH может быть полезной оптимизацией для многопоточных приложений, которые имеют много библиотек DLL, которые часто создают и удаляют потоки, и библиотеки DLL которых не нуждаются в этих уведомлениях на уровне потока вложения и отсоединения.
CAtlDllModuleT::D llRegisterServer
Добавляет записи в системный реестр для объектов в библиотеке DLL.
HRESULT DllRegisterServer(BOOL bRegTypeLib = TRUE) throw();
Параметры
bRegTypeLib
Значение TRUE, если библиотека типов должна быть зарегистрирована. Значение по умолчанию — TRUE.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
CAtlDllModuleT::D llUnregisterServer
Удаляет записи в системном реестре для объектов в библиотеке DLL.
HRESULT DllUnregisterServer(BOOL bUnRegTypeLib = TRUE) throw();
Параметры
bUnRegTypeLib
Значение TRUE, если библиотека типов должна быть удалена из реестра. Значение по умолчанию — TRUE.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
CAtlDllModuleT::GetClassObject
Создает объект указанного CLSID.
HRESULT GetClassObject(
REFCLSID rclsid,
REFIID riid,
LPVOID* ppv) throw();
Параметры
rclsid
CLSID создаваемого объекта.
riid
IID запрошенного интерфейса.
ppv
Указатель на указатель интерфейса, определяемый идентификатором riid. Если объект не поддерживает этот интерфейс, ppv имеет значение NULL.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
Замечания
Этот метод вызывается CAtlDllModuleT::D llGetClassObject и включен для обратной совместимости.
См. также
Класс CAtlModuleT
Класс CAtlExeModuleT
Общие сведения о классе
Классы модулей