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:
type= dll
CAtlDllModuleT slouží jako základní třída a standardní položku knihovny DLL pro COM server body.Tyto vstupní body jsou DllMain, DllRegisterServer, DllUnRegisterServer, DllCanUnloadNow, a DllGetClassObject.
type= exe
CAtlExeModuleT slouží jako základní třída a standardní spustitelné vstupní bod WinMain.
type= služby
CAtlServiceModuleT slouží jako základní třída a standardní spustitelné vstupní bod WinMain.
type= neurčené
Zakáže vstřikování ATL kód vztahující se k modulu atribut.
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.