Класс 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".

Иерархия наследования

_ATL_MODULE

CAtlModule

CAtlModuleT

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
Общие сведения о классе
Классы модулей