Attributo module

L'istruzione module definisce un gruppo di funzioni, in genere un set di punti di ingresso DLL.

[
    attributes
]
module modulename 
{
    elementlist
};

Parametri

attributes

Gli attributi [uuid], [version], [helpstring], [helpcontext], [hidden]e [dllname] vengono accettati prima di un'istruzione module . Per altre informazioni sugli attributi accettati prima di una definizione di modulo, vedere Descrizioni degli attributi, nel libro di automazione OLE. L'attributo [dllname] è obbligatorio. Se l'attributo [uuid] viene omesso, il modulo non viene specificato in modo univoco nel sistema.

Modulename

Nome del modulo.

elementlist

Elenco di definizioni costanti e prototipi di funzioni per ogni funzione nella DLL. Qualsiasi numero di definizioni di funzione può essere visualizzato nell'elenco delle funzioni. Una funzione nell'elenco di funzioni ha il formato seguente:

[attributi] returntype [calling convention funcname](params);

[attributi] const constanttype constname = constval;

Solo gli attributi [helpstring] e [helpcontext] vengono accettati per un const.

Gli attributi seguenti vengono accettati in una funzione in un modulo: [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref]e [vararg]. Se viene specificato [vararg], l'ultimo parametro deve essere una matrice sicura di tipo VARIANT .

La convenzione di chiamata facoltativa può essere una delle __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl o __stdcall/_stdcall/stdcall. Il parametro paramname del tipo di convenzione chiamante può includere fino a due caratteri di sottolineatura iniziali.

L'elenco dei parametri è un elenco delimitato da virgole di:

[attributi]

Il tipo può essere qualsiasi tipo dichiarato in precedenza o predefinito, un puntatore a qualsiasi tipo o un puntatore a un tipo predefinito. Gli attributi sui parametri sono:

[in], [out], [facoltativo].

Se viene usato [facoltativo], i tipi di tali parametri devono essere VARIANT o VARIANT*.

Commenti

L'output del file di intestazione (con estensione h) per i moduli è una serie di prototipi di funzioni. La parola chiave module e le parentesi quadre circostanti vengono rimosse dall'output del file di intestazione (con estensione h), ma un commento (// modulemodulename) viene inserito prima dei prototipi. La parola chiave extern viene inserita prima delle dichiarazioni.

Esempi

[
    uuid(12345678-1234-1234-1234-123456789ABC), 
    helpstring("This is not GDI.EXE"), 
    helpcontext(190), 
    dllname("MATH.DLL")
] 
module somemodule
{ 
    [helpstring("Color for the frame")] 
            unsigned long const COLOR_FRAME = 0xH80000006; 
    [helpstring("Not a rectangle but a square"), 
     entry(1)] 
            pascal double square([in] double x); 
};

Vedere anche

const

Contenuto di una libreria dei tipi

Dllname

Voce

Generazione di una libreria dei tipi con MIDL

helpcontext

helpstring

Nascosto

Sintassi dei file ODL

propget

propput

propputref

string

TYPEFLAGS

uuid

vararg

Versione