Condividi tramite


modulo (C++)

Definisce il blocco di libreria nel file 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,
) ];

Parametri

  • tipo (facoltativo)
    ad esempio uno dei seguenti:

    • DLL   Aggiunge le funzioni e le classi che consentono la DLL risultante alla funzione come server COM in-process.Rappresenta il valore predefinito.

    • EXE   Aggiunge le funzioni e le classi che consentono il file eseguibile risultante alla funzione come un oggetto dal processo server COM.

    • servizio   Aggiunge le funzioni e le classi che consentono il file eseguibile risultante alla funzione come servizio NT.

    • non specificato   Disabilita l'inserimento del codice ATL correlata all'attributo del modulo: l'inserimento della classe del modulo ATL, il _AtlModule globale di istanza e il punto di ingresso viene eseguito.Non disabilita l'inserimento del codice ATL a causa di altri attributi nel progetto.

  • nome (facoltativo)
    Il nome del blocco di libreria.

  • versione (facoltativo)
    Il numero di versione che si desidera assegnare al blocco di libreria.Il valore predefinito è 1.0.

  • uuid
    ID univoco per la raccolta.Se si omette questo parametro, un ID verrà generato automaticamente per la raccolta.È possibile richiedere di recuperare uuid il blocco di libreria, che è possibile eseguire utilizzando l'identificatore __uuidof (libraryname).

  • LCID
    il parametro di localizzazione.vedere LCID per ulteriori informazioni.

  • controllare (facoltativo)
    Specifica che tutte le coclassi della raccolta sono controlli.

  • helpstring
    Specifica la libreria dei tipi.

  • helpstringdll (facoltativo)
    Imposta il nome del file DLL da utilizzare per eseguire una ricerca della stringa del documento.vedere helpstringdll per ulteriori informazioni.

  • file di (facoltativo)
    Il nome del file della Guida per la libreria dei tipi.

  • helpcontext (facoltativo)
    La guida all'ID della libreria dei tipi.

  • helpstringcontext (facoltativo)
    vedere helpstringcontext per ulteriori informazioni.

  • nascosto (facoltativo)
    Impedisce l'intera raccolta da visualizzare.Questo utilizzo deve essere utilizzata con i controlli.Gli host devono creare una raccolta del nuovo tipo che esegue il wrapping del controllo con le proprietà estese.vedere nascosto Attributo MIDL per ulteriori informazioni.

  • limitato (facoltativo)
    I membri della raccolta non possono essere chiamati in modo arbitrario.vedere limitato Attributo MIDL per ulteriori informazioni.

  • personalizzati (facoltativo)
    Uno o più attributi, equivale a personalizzati attributo.Il primo parametro su custom rappresenta il GUID dell'attributo.Di seguito è riportato un esempio:

    [module(custom={guid,1}, custom={guid1,2})]
    
  • resource_name
    La risorsa di tipo stringa ID del file RGS utilizzato per registrare l'APPLICAZIONE ID della DLL, il file eseguibile, o del servizio.Quando viene del servizio del tipo, in questo argomento viene inoltre utilizzato per ottenere l'ID della stringa contenente il nome del servizio.

[!NOTA]

Sia il file RGS e la stringa contenente il nome del servizio deve contenere lo stesso valore numerico.

Note

A meno che non venga specificato limitato parametro di emitidl, modulo è obbligatorio in qualsiasi programma che utilizza gli attributi di C++.

Un blocco di libreria verrà creata se, oltre a modulo attributo, di codice sorgente utilizza anche interfaccia dispatch, doppio, oggetto, o un attributo che implica coclasse.

Un blocco di libreria è consentito in un file idl.Più voci del modulo nel codice sorgente verranno unite, con i valori di parametro più recenti distribuiti.

Se questo attributo viene utilizzato in un progetto che utilizza ATL, il comportamento dell'attributo viene modificato.Oltre a quello sopra, l'attributo viene inserito un oggetto globale denominato _AtlModule) del tipo corretto e del codice di supporto.Se l'attributo è autonomo, inserisce una classe derivata dal tipo corretto del modulo.Se l'attributo è applicato a una classe, aggiungere una classe base del tipo corretto del modulo.Il tipo corretto è determinato dal valore di type parametro:

Esempio

Nel codice seguente viene illustrato come creare un blocco di libreria nel file generato con estensione .idl.

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

Il codice seguente viene illustrato che è possibile fornire per essere inclusa l'implementazione di una funzione che avrà nel codice che è stato inserito come conseguenza di utilizzare modulo.vedere /Fx per ulteriori informazioni sulla visualizzazione codice inserito.Per eseguire l'override di una delle funzioni inserite da modulo l'attributo, rende una classe che conterrà l'implementazione della funzione e rende modulo l'attributo è applicato alla classe.

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

Requisiti

contesto di attributo

Si applica a

Ovunque

ripetibile

No

attributi obbligatori

Nessuno

attributi non validi

Nessuno

Per ulteriori informazioni, vedere Associare ai contesti.

Vedere anche

Riferimenti

usesgetlasterror

library

helpcontext

helpstring

file

versione (C++)

Altre risorse

Attributi IDL

Attributi di classe

Attributi autonomi

Typedef, Enumerazione, unione e attributi di strutture

Attributes Samples