Visual C++. Описание стандартных классов - AFX_EXTENSION_MODULE

ОГЛАВЛЕНИЕ


Структуры

AFX_EXTENSION_MODULE

struct AFX_EXTENSION_MODULE
{
  BOOL bInitialized;
  HMODULE hModule;
  HMODULE hResource;
  CRuntimeClass* pFirstSharedClass;
  COleObjectFactory* pFirstSharedFactory;
};

Переменные

  • bInitialized - имеет значение TRUE, если модуль библиотеки динамической компоновки инициализирован функцией AfxInitExtensionModule.
  • hModule - дескриптор модуля библиотеки динамической компоновки.
  • hResource - дескриптор пользовательского модуля ресурсов библиотеки динамической компоновки.
  • pFirstSharedClass - указатель на объект структуры CRuntimeClass, содержащий информацию о первом классе данного модуля библиотеки динамической компоновки. Используется для инициализации списка классов.
  • pFirstSharedFactory - указатель на первую фабрику объектов библиотеки динамической компоновки (объект COleObjectFactory).
Используется для инициализации списка фабрик классов.

Описание

Объект структуры AFX_EXTENSION_MODULE используется при инициализации библиотеки расширения MFC для хранения состояния модуля этой библиотеки. Он хранит копию состояния модуля библиотеки расширения MFC, включая копии объектов классов, инициализированных данной библиотекой в процессе вызова статических конструкторов объектов перед вызовом функции DllMain. В функции DllMain библиотеки расширения MFC необходимо произвести две операции: вызвать функцию AfxInitExtensionModule и проверить возвращаемое ею значение;
создать объект класса CDynLinkLibrary, если библиотека динамической компоновки экспортирует объекты CRuntimeClass или имеет собственные пользовательские ресурсы.