Udostępnij za pośrednictwem


Moduł (C++)

Definiuje bloku biblioteki w pliku .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 (opcjonalnie)
    Może mieć jedną z następujących czynności:

    • Biblioteka DLL dodaje funkcje i klas, które umożliwia wynikowy DLL działać jako serwer COM w procesie.Jest to wartość domyślna.

    • exe dodaje funkcje i klas, które umożliwia wynikowy wykonywalny do funkcji jako wyjście procesu COM serwera.

    • Usługa dodaje funkcje i klas, zezwalające na wynikowym pliku wykonywalnego do działania jako usługę NT.

    • nieokreślony wyłącza wstrzyknięcie kodu ATL związane z atrybutem moduł: iniekcji ATL moduł klasy, instancji globalnego _AtlModule i wpis pkt funkcji.Nie wyłącza wstrzyknięcie kodu ATL ze względu na inne atrybuty w projekcie.

  • Nazwa (opcjonalnie)
    Nazwa bloku biblioteki.

  • Wersja (opcjonalnie)
    Numerem wersji, którą chcesz przypisać do bloku biblioteki.Wartość domyślna to 1,0.

  • uuid
    Unikatowy identyfikator dla biblioteki.Jeżeli pominięto ten parametr, identyfikator będzie automatycznie generowane dla biblioteki.Należy pobrać uuid z bloku biblioteki można zrobić za pomocą identyfikatora __uuidof (libraryname).

  • Identyfikator LCID
    Parametr lokalizacji.Zobacz lcid Aby uzyskać więcej informacji.

  • Formant (opcjonalnie)
    Określa, że wszystkie coclasses w bibliotece są formanty.

  • Ciąg HelpString
    Określa biblioteki typów.

  • helpstringdll (opcjonalnie)
    Ustawia nazwę pliku .dll, aby użyć, aby wykonać wyszukiwanie ciągu dokumentu.Zobacz helpstringdll Aby uzyskać więcej informacji.

  • HelpFile (opcjonalnie)
    Nazwa pliku pomocy dla biblioteki typów.

  • helpcontext (opcjonalnie)
    Identyfikator pomocy dla tej biblioteki typów.

  • helpstringcontext (opcjonalnie)
    Zobacz helpstringcontext Aby uzyskać więcej informacji.

  • ukryte (opcjonalnie)
    Zapobiega wyświetlaniu całą bibliotekę.Użycie tego jest przeznaczony do użycia z formantami.Hosty, należy utworzyć nowe biblioteki typów zawijaniem kontroli z właściwości rozszerzone.Zobacz ukryte atrybutu MIDL, aby uzyskać więcej informacji.

  • ograniczone (opcjonalnie)
    Nie można wywołać członków biblioteki arbitralnie.Zobacz ograniczone atrybutu MIDL, aby uzyskać więcej informacji.

  • niestandardowe (opcjonalnie)
    Atrybuty jednego lub więcej; jest to podobne do Niestandardowy atrybut.Pierwszy parametr custom jest identyfikatorem GUID atrybutu.Na przykład:

    [module(custom={guid,1}, custom={guid1,2})]
    
  • resource_name
    Identyfikator zasobu ciągu pliku .rgs, używane do rejestrowania identyfikator aplikacji biblioteki DLL, wykonywalnych lub usługi.Gdy moduł jest typ usługi, argument ten służy także aby uzyskać identyfikator ciąg zawierający nazwę usługi.

[!UWAGA]

Plik .rgs i ciąg znaków zawierający nazwę usługi powinien zawierać tę samą wartość liczbową.

Uwagi

Jeśli nie podasz ograniczone parametr emitidl, moduł jest wymagane w dowolnym programie, który używa atrybutów C++.

Blok biblioteki zostanie utworzony, jeśli oprócz Moduł także używa atrybutu, kod źródłowy dispinterface, dual, obiektu, lub atrybut, który oznacza coclass.

Jeden blok biblioteki jest dozwolone w pliku .idl.Wiele wpisów moduł w kodzie źródłowym zostaną scalone z najnowszych wartości parametru realizowane.

Jeśli ten atrybut jest używany w ramach projektu, który używa ATL, zmienia zachowanie atrybutu.Oprócz powyższych zachowanie atrybut również Wstawia obiekt globalny (o nazwie _AtlModule) poprawny typ i kod dodatkowej pomocy technicznej.Jeśli atrybut jest autonomiczny, wstawia klasy pochodzącej od typu prawidłowego modułu.Jeśli atrybut jest stosowany do klasy, dodaje klasa podstawowa typu prawidłowego modułu.Poprawny typ jest określany przez wartość type parametru:

Przykład

Poniższy kod ilustruje sposób tworzenia bloku biblioteki w pliku .idl wygenerowany.

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

Poniższy kod pokazuje, że mogą zapewnić implementacji funkcji, które pojawią się w kodzie, który był wstrzykuje się z pomocą Moduł.Zobacz /Fx Aby uzyskać więcej informacji dotyczących przeglądania kod.Aby zastąpić jedną z funkcji wstawione przez Moduł atrybutu, należy klasa, która będzie zawierać implementacji funkcji i wprowadzić moduł atrybut stosuje się do tej klasy.

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

Wymagania

Atrybutu kontekstu

Stosuje się do

Gdziekolwiek

Powtarzalne

Nr

Wymagane atrybuty

Brak

Nieprawidłowe atrybuty

Brak

Aby uzyskać więcej informacji, zobacz Kontekstów atrybutu.

Zobacz też

Informacje

usesgetlasterror

library

helpcontext

Ciąg HelpString

HelpFile

wersja (C++)

Inne zasoby

Atrybuty IDL

Atrybuty klas

Atrybuty autonomiczny

Element TypeDef, Enum, Unii i struktura atrybutów

Attributes Samples