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