Поделиться через


Класс CAtlModule

Замечание

Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Этот класс предоставляет методы, используемые несколькими классами модулей ATL.

Синтаксис

class ATL_NO_VTABLE CAtlModule : public _ATL_MODULE

Участники

Открытые конструкторы

Имя Описание
CAtlModule::CAtlModule Конструктор.
CAtlModule::~CAtlModule Деструктор

Открытые методы

Имя Описание
CAtlModule::AddCommonRGSReplacements Переопределите этот метод, чтобы добавить параметры на карту замены компонента реестра ATL (регистратора).
CAtlModule::AddTermFunc Добавляет новую функцию, вызываемую при завершении модуля.
CAtlModule::GetGITPtr Возвращает указатель глобального интерфейса.
CAtlModule::GetLockCount Возвращает число блокировок.
CAtlModule::Lock Увеличивает число блокировок.
CAtlModule::Term Освобождает все элементы данных.
CAtlModule::Unlock Уменьшает на единицу счетчик блокировок.
CAtlModule::UpdateRegistryFromResourceD Запускает скрипт, содержащийся в указанном ресурсе, для регистрации или отмены регистрации объекта.
CAtlModule::UpdateRegistryFromResourceDHelper Этот метод вызывается UpdateRegistryFromResourceD для выполнения обновления реестра.
CAtlModule::UpdateRegistryFromResourceS Запускает скрипт, содержащийся в указанном ресурсе, для регистрации или отмены регистрации объекта. Этот метод статически связывается с компонентом реестра ATL.

Открытые члены данных

Имя Описание
CAtlModule::m_libid Содержит GUID текущего модуля.
CAtlModule::m_pGIT Указатель на глобальную таблицу интерфейсов.

Замечания

Этот класс используется классом CAtlDllModuleT, классом CAtlExeModuleT и классомCAtlServiceModuleT для обеспечения поддержки приложений DLL, приложений EXE и служб Windows соответственно.

Дополнительные сведения о модулях в ATL см. в разделе "Классы модулей ATL".

Этот класс заменяет устаревший класс CComModule, используемый в более ранних версиях ATL.

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

_ATL_MODULE

CAtlModule

Требования

Заголовок: atlbase.h

CAtlModule::AddCommonRGSReplacements

Переопределите этот метод, чтобы добавить параметры на карту замены компонента реестра ATL (регистратора).

virtual HRESULT AddCommonRGSReplacements(IRegistrarBase* /* pRegistrar*/) throw() = 0;

Параметры

pRegistrar
Зарезервировано.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.

Замечания

Заменяемые параметры позволяют клиенту регистратора указывать данные во время выполнения. Для этого регистратор сохраняет карту замены, в которую он вводит значения, связанные с заменяемыми параметрами в скрипте. Регистратор делает эти записи во время выполнения.

Дополнительные сведения см. в разделе "Использование заменяемых параметров" (препроцессор регистратора).

CAtlModule::AddTermFunc

Добавляет новую функцию, вызываемую при завершении модуля.

HRESULT AddTermFunc(_ATL_TERMFUNC* pFunc, DWORD_PTR dw) throw();

Параметры

pFunc
Указатель на добавленную функцию.

dw
Определяемые пользователем данные, передаваемые функции.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.

CAtlModule::CAtlModule

Конструктор.

CAtlModule() throw();

Замечания

Инициализирует элементы данных и инициирует критически важный раздел в потоке модуля.

CAtlModule::~CAtlModule

Деструктор

~CAtlModule() throw();

Замечания

Освобождает все элементы данных.

CAtlModule::GetGITPtr

Извлекает указатель на глобальную таблицу интерфейсов.

virtual HRESULT GetGITPtr(IGlobalInterfaceTable** ppGIT) throw();

Параметры

ppGIT
Указатель на переменную, которая получит указатель на глобальную таблицу интерфейсов.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или код ошибки при сбое. E_POINTER возвращается, если ppGIT равно NULL.

Замечания

Если объект глобальной таблицы интерфейса не существует, он создается и его адрес хранится в переменной члена CAtlModule::m_pGIT.

В сборках отладки ошибка утверждения будет возникать, если ppGIT равно NULL или если указатель глобальной таблицы интерфейсов не может быть получен.

Сведения о глобальной таблице интерфейсов см . в IGlobalInterfaceTable .

CAtlModule::GetLockCount

Возвращает число блокировок.

virtual LONG GetLockCount() throw();

Возвращаемое значение

Возвращает число блокировок. Это значение может быть полезно для диагностика и отладки.

CAtlModule::Lock

Увеличивает число блокировок.

virtual LONG Lock() throw();

Возвращаемое значение

Увеличивает число блокировок и возвращает обновленное значение. Это значение может быть полезно для диагностика и отладки.

CAtlModule::m_libid

Содержит GUID текущего модуля.

static GUID m_libid;

CAtlModule::m_pGIT

Указатель на глобальную таблицу интерфейсов.

IGlobalInterfaceTable* m_pGIT;

CAtlModule::Term

Освобождает все элементы данных.

void Term() throw();

Замечания

Освобождает все элементы данных. Этот метод вызывается деструктором.

CAtlModule::Unlock

Уменьшает на единицу счетчик блокировок.

virtual LONG Unlock() throw();

Возвращаемое значение

Уменьшает число блокировок и возвращает обновленное значение. Это значение может быть полезно для диагностика и отладки.

CAtlModule::UpdateRegistryFromResourceD

Запускает скрипт, содержащийся в указанном ресурсе, для регистрации или отмены регистрации объекта.

HRESULT WINAPI UpdateRegistryFromResourceD(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceD(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Параметры

lpszRes
Имя ресурса.

nResID
Идентификатор ресурса.

bRegister
ЗНАЧЕНИЕ TRUE, если объект должен быть зарегистрирован; Значение FALSE в противном случае.

pMapEntries
Указатель на карту замены, в которую хранятся значения, связанные с заменяемыми параметрами скрипта. ATL автоматически использует %MODULE%. Дополнительные заменяемые параметры см. в разделе CAtlModule::AddCommonRGSReplacements. В противном случае используйте значение NULL по умолчанию.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.

Замечания

Запускает скрипт, содержащийся в ресурсе, указанном lpszRes или nResID. Если bRegister имеет значение TRUE, этот метод регистрирует объект в системном реестре. В противном случае он удаляет объект из реестра.

Сведения о статической ссылке на компонент реестра ATL (регистратор) см. в разделе CAtlModule::UpdateRegistryFromResourceS.

Этот метод вызывает CAtlModule::UpdateRegistryFromResourceDHelper и IRegistrar::ResourceUnregister.

CAtlModule::UpdateRegistryFromResourceDHelper

Этот метод вызывается UpdateRegistryFromResourceD для выполнения обновления реестра.

inline HRESULT WINAPI UpdateRegistryFromResourceDHelper(
    LPCOLESTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Параметры

lpszRes
Имя ресурса.

bRegister
Указывает, следует ли регистрировать объект.

pMapEntries
Указатель на карту замены, в которую хранятся значения, связанные с заменяемыми параметрами скрипта. ATL автоматически использует %MODULE%. Дополнительные заменяемые параметры см. в разделе CAtlModule::AddCommonRGSReplacements. В противном случае используйте значение NULL по умолчанию.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.

Замечания

Этот метод предоставляет реализацию CAtlModule::UpdateRegistryFromResourceD.

CAtlModule::UpdateRegistryFromResourceS

Запускает скрипт, содержащийся в указанном ресурсе, для регистрации или отмены регистрации объекта. Этот метод статически связывается с компонентом реестра ATL.

HRESULT WINAPI UpdateRegistryFromResourceS(
    UINT nResID,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

HRESULT WINAPI UpdateRegistryFromResourceS(
    LPCTSTR lpszRes,
    BOOL bRegister,
    struct _ATL_REGMAP_ENTRY* pMapEntries = NULL) throw();

Параметры

nResID
Идентификатор ресурса.

lpszRes
Имя ресурса.

bRegister
Указывает, следует ли зарегистрировать скрипт ресурса.

pMapEntries
Указатель на карту замены, в которую хранятся значения, связанные с заменяемыми параметрами скрипта. ATL автоматически использует %MODULE%. Дополнительные заменяемые параметры см. в разделе CAtlModule::AddCommonRGSReplacements. В противном случае используйте значение NULL по умолчанию.

Возвращаемое значение

Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.

Замечания

Аналогично CAtlModule::UpdateRegistryFromResourceD, кроме создания CAtlModule::UpdateRegistryFromResourceS статической ссылки на компонент реестра ATL (Регистратор).

См. также

_ATL_MODULE
Общие сведения о классе
Классы модулей
Компонент реестра (регистратор)