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


Класс CAtlModule

Этот класс предоставляет методы, используемые несколькими классами модулей 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
Общие сведения о классе
Классы модулей
Компонент реестра (регистратор)