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


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

Дополнительные сведения см. в разделе Контексты атрибута.

См. также

Ссылки

usesgetlasterror

library

helpcontext

helpstring

helpfile

version (C++)

Другие ресурсы

Атрибуты IDL

Атрибуты классов

Изолированные атрибуты

Атрибуты Typedef, Enum, Union и Struct

Attributes Samples