Sdílet prostřednictvím


module (C++)

Definuje knihovny bloku v souboru .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, 
) ];

Parametry

  • Typ (volitelné)
    Může být jeden z následujících:

    • Knihovna DLL přidá funkcí a tříd, které umožňují výsledné DLL jako server COM v procesu.Jedná se o výchozí hodnotu.

    • EXE přidá funkcí a tříd, které umožňují výsledných fungovat jako mimo proces serveru COM spustitelného souboru.

    • Služba přidá funkcí a tříd, které umožňují výsledných spustitelné funkce jako služby NT.

    • Nespecifikovaná zakáže vstřikování ATL kód vztahující se k modulu atribut: vstřikování ATL modul třídy, _AtlModule globální instance a položky příkaz funkce.Vkládání kódu ATL kvůli jiné atributy v projektu není zakázána.

  • název (volitelné)
    Název knihovny bloku.

  • verze (volitelné)
    Číslo verze, kterou chcete přiřadit k bloku knihovny.Výchozí hodnota je 1.0.

  • uuid
    Jedinečné ID knihovny.Pokud tento parametr vynecháte, ID automaticky generovány pro knihovnu.Potřebujete získat uuid bloku knihovny, což lze provést pomocí identifikátoru __uuidof (NázevKnihovny).

  • LCID
    Parametr lokalizace.Viz lcid Další informace.

  • řízení (volitelné)
    Určuje, že všechny coclasses v knihovně jsou ovládací prvky.

  • helpstring
    Určuje typ knihovny.

  • helpstringdll (volitelné)
    Nastaví název souboru DLL pomocí vyhledávání řetězce dokumentu.Viz helpstringdll Další informace.

  • soubor nápovědy (volitelné)
    Název souboru nápovědy pro knihovnu typů.

  • příkladu se (volitelné)
    ID nápovědy pro tento typ knihovny.

  • helpstringcontext (volitelné)
    Viz helpstringcontext Další informace.

  • skryté (volitelné)
    Zabraňuje zobrazení celou knihovnu.Toto použití je určena pro použití s ovládacími prvky.Hostitelů je nutné vytvořit novou knihovnu typu, který se zalamuje rozšířené vlastnosti ovládacího prvku.Najdete skryté jazyk MIDL atribut Další informace.

  • omezené (volitelné)
    Členové knihovny nelze volat libovolně.Najdete s omezeným přístupem jazyk MIDL atribut Další informace.

  • vlastní (volitelné)
    Jeden nebo více atributů je to podobné jako vlastní atributu.První parametr custom je identifikátor GUID atribut.Příklad:

    [module(custom={guid,1}, custom={guid1,2})]
    
  • resource_name
    ID zdroje řetězec souboru .rgs slouží k registraci aplikace ID knihovny DLL spustitelného souboru nebo služby.Pokud je modul typ služby, je tento argument slouží také získat ID řetězec obsahující název služby.

[!POZNÁMKA]

Soubor .rgs a řetězec obsahující název služby, by měl obsahovat stejné číselné hodnoty.

Poznámky

Pokud nezadáte s omezeným přístupem parametr emitidl, modulu v jakýkoli program, který používá C++ atributy.

Knihovna bloku bude vytvořena, pokud kromě modulu atribut, zdrojový kód používá také omezené rozhraní IDispatch, dual, objektu, nebo atribut, který zahrnuje coclass.

V souboru .idl je povolen jeden blok knihovny.Více položek modulu ve zdrojovém kódu bude sloučena s poslední hodnoty parametrů, které jsou implementovány.

Pokud tento atribut je použit v rámci projektu, který používá ATL chování změny atributů.Kromě výše uvedené chování atribut také vloží globálního objektu (nazývá _AtlModule) správný typ a kód další podporu.Pokud je samostatný atribut, vloží třídy odvozené od typu modulu.Třída u atributu se přidá základní třídy typu modulu.Správný typ hodnoty závisí type parametr:

Příklad

Následující kód ukazuje, jak vytvořit blok knihovny v .idl generovaného souboru.

// cpp_attr_ref_module1.cpp
// compile with: /LD
[module(name="MyLibrary", version="1.2", helpfile="MyHelpFile")];

Následující kód ukazuje poskytnout implementace funkce, která se zobrazí v kódu, který byl v důsledku použití injekčně modulu.Viz /Fx Další informace o zobrazení vloženého kódu.K přepsání jedné z funkcí Vložit modulu atributu, vytvořit třídu, která bude obsahovat implementaci funkce a aby modulu použít atribut třídy.

// 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);
   }
};

Požadavky

Atribut kontextu

V aplikacích

Kdekoli

Opakovatelné

Ne

Požadované atributy

Žádná

Neplatné atributy

Žádná

Další informace naleznete v tématu Kontexty atribut.

Viz také

Referenční dokumentace

usesgetlasterror

library

helpcontext

helpstring

helpfile

version (C++)

Další zdroje

IDL – atributy

Atributy třídy

Samostatné atributy

Atributy klíčových slov typedef, enum, union a struct

Attributes Samples