module (C++)
Указывает блок библиотеки в idl-файле.
[ module (
type=dll,
name=string,
version=1.0,
uuid=uuid,
lcid=integer,
control=boolean,
helpstring=string,
helpstringdll=string,
helpfile=string,
helpcontext=integer,
helpstringcontext=integer,
hidden=boolean,
restricted=boolean,
custom=string,
resource_name=string,
) ];
Параметры
type (необязательно)
Может принимать следующие значения:dll Добавляет функции и классы, позволяющие итоговой библиотеки DLL функции как сервер модель COM в процессе. Это значение по умолчанию.
exe Добавляет функции и классы, позволяющие полученный исполняемый файл к функции, как a из процесса сервера модели COM.
служба Добавляет функции и классы, позволяющие полученный исполняемый файл к функции, как служба NT.
unspecified Блокирует добавление кода библиотеки ATL, связанная с атрибутом модуля. добавление класса модуля библиотеки ATL, глобального _AtlModule экземпляра и точки входа. Не блокирует добавление кода библиотеки ATL вследствие другим атрибутам в проекте.
name (необязательно)
Имя блока библиотеки.version (необязательно)
Номер версии необходимо присвоить блок библиотеки. Значение по умолчанию — 1.0.uuid
Уникальный идентификатор библиотеки. Если этот параметр не указан, то идентификатор будет автоматически создан для библиотеки. Получение UUID для блока библиотеки, который можно сделать с помощью идентификатора (__uuidoflibraryname**)**.lcid
Параметр локализации. См. lcid для получения дополнительных сведений.мониторинг (необязательно)
Компонентные классы указывают, что все библиотеки элементов управления.helpstring
Указывает библиотеку типов.helpstringdll (необязательно)
Задает имя dll-файла для использования выполнять поиск строки документа. См. helpstringdll для получения дополнительных сведений.helpfile (необязательно)
Имя файла Справки библиотеки типов.Контекст справки (необязательно)
Идентификатор Справки для данной библиотеки типов.helpstringcontext (необязательно)
См. helpstringcontext для получения дополнительных сведений.скрытый (необязательно)
Предотвращает отображения всей библиотеки. Это потребление предназначено для использования с элементами управления. Основным приложениям необходимо создать новую библиотеку типов, которая создает программу-оболочку элемент управления с расширенными свойствами. Эти скрытый Атрибут MIDL дополнительные сведения.restricted (необязательно)
Члены библиотек не может вызываться произвольным образом. Эти restricted Атрибут MIDL дополнительные сведения.custom (необязательно)
Один или несколько атрибутов; это аналогично custom атрибут. Первый параметр custom идентификатор атрибута. Примеры.[module(custom={guid,1}, custom={guid1,2})]
resource_name
Идентификатор ресурса строки файла .rgs, используемого для регистрации идентификатор ПРИЛОЖЕНИЯ DLL, исполняемого файла или службы. Если модуль службы типа, этот аргумент также используется для получения идентификатора строки, содержащей имя службы.
Примечание
И файл .rgs и строка, содержащая имя службы должны содержать один и тот же числовое значение.
Заметки
Если не указан restricted параметр emitidl" Модуль требуется в любой программе, использующей атрибуты C++.
Блок библиотеки будет создан если в дополнение к Модуль атрибут исходный код также использует dispinterface" Двойной" objectили атрибут, подразумевает CoClass.
Один блок библиотеки разрешен в idl-файле. Несколько записей модулей в исходном коде будут объединены, причем последние, снабжанными значения параметров.
Если этот атрибут используется в рамках проекта, использующий библиотеку ATL, расширения функциональности атрибута изменяется. В дополнение к приведенной выше расширений функциональности также вводит атрибут с названием глобальной (объект _AtlModuleправильного типа кода) и дополнительной поддержки. Если атрибут являются неуправляемыми, то он представляет класс, производный от правильного типа модуля. Если атрибут применяется к классу, он добавляет базовый класс правильного типа модуля. Правильный тип определяется значением type параметр:
type = dll
CAtlDllModuleT используется как базовый класс и стандартные точки входа DLL, необходимые для сервера модели COM. Эти точки входа DllMain" DllRegisterServer" DllUnRegisterServer" DllCanUnloadNowи DllGetClassObject.
type = exe
CAtlExeModuleT используется как базовый класс и стандартная исполнительная точка входа WinMain.
type = служба
CAtlServiceModuleT используется как базовый класс и стандартная исполнительная точка входа WinMain.
type = unspecified
Блокирует добавление кода библиотеки ATL, связанная с атрибутом модуля.
Пример
В следующем коде показано, как создать блок библиотеки в созданном файле idl.
// cpp_attr_ref_module1.cpp
// compile with: /LD
[module(name="MyLibrary", version="1.2", helpfile="MyHelpFile")];
В следующем примере кода показано, что можно предоставить собственную реализацию функции, которая отображается в код, который был впрыснут в результате использования Модуль. См. /Fx дополнительные сведения о коде впрыснутом просмотром. Переопределение одной из функций, представленных Модуль атрибут делает класс, который будет содержать свою реализацию функции и делает Модуль атрибут применяется к этому классу.
// cpp_attr_ref_module2.cpp
// compile with: /LD /link /OPT:NOREF
#include <atlbase.h>
#include <atlcom.h>
#include <atlwin.h>
#include <atltypes.h>
#include <atlctl.h>
#include <atlhost.h>
#include <atlplus.h>
// no semicolon after attribute block
[module(dll, name="MyLibrary", version="1.2", helpfile="MyHelpFile")]
// module attribute now applies to this class
class CMyClass {
public:
BOOL WINAPI DllMain(DWORD dwReason, LPVOID lpReserved) {
// add your own code here
return __super::DllMain(dwReason, lpReserved);
}
};
Требования
Контекст атрибута
Применение |
Любой |
Repeatable |
Нет |
Обязательные атрибуты |
None |
Недопустимые атрибуты |
None |
Дополнительные сведения см. в разделе Контексты атрибута.