Freigeben über


modul-Attribut

Die module-Anweisung definiert eine Gruppe von Funktionen, in der Regel eine Gruppe von DLL-Einstiegspunkten.

[
    attributes
]
module modulename 
{
    elementlist
};

Parameter

attributes

Die Attribute [uuid], [version], [helpstring], [helpcontext], [hidden] und [dllname] werden vor einer Modulanweisung akzeptiert. Weitere Informationen zu den Attributen, die vor einer Moduldefinition akzeptiert wurden, finden Sie unter Attributbeschreibungen im Buch OLE-Automatisierung. Das [dllname]-Attribut ist erforderlich. Wenn das [uuid]-Attribut weggelassen wird, wird das Modul im System nicht eindeutig angegeben.

Modulename

Der Name des Moduls.

elementlist

Liste der Konstantendefinitionen und Funktionsprototypen für jede Funktion in der DLL. In der Funktionsliste kann eine beliebige Anzahl von Funktionsdefinitionen angezeigt werden. Eine Funktion in der Funktionsliste hat die folgende Form:

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

[Attribute] const constanttype constname = constname constval;

Nur die Attribute [helpstring] und [helpcontext] werden für eine const akzeptiert.

Die folgenden Attribute werden für eine Funktion in einem Modul akzeptiert: [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref] und [vararg]. Wenn [vararg] angegeben ist, muss der letzte Parameter ein sicheres Array vom Typ VARIANT sein.

Die optionale Aufrufkonvention kann __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl oder __stdcall/_stdcall/stdcall sein. Der Aufrufkonventionstyp paramname kann bis zu zwei führende Unterstriche enthalten.

Die Parameterliste ist eine durch Trennzeichen getrennte Liste von:

[Attribute]

Der Typ kann jeder zuvor deklarierte oder integrierte Typ, ein Zeiger auf einen beliebigen Typ oder ein Zeiger auf einen integrierten Typ sein. Attribute für Parameter sind:

[in], [out], [optional].

Wenn [optional] verwendet wird, müssen die Typen dieser Parameter VARIANT oder VARIANT* sein.

Bemerkungen

Die Ausgabe der Headerdatei (.h) für Module besteht aus einer Reihe von Funktionsprototypen. Das Modul Schlüsselwort (keyword) und die umgebenden Klammern werden aus der Ausgabe der Headerdatei (.h) entfernt, aber vor den Prototypen wird ein Kommentar (// Modulmodulname) eingefügt. Die Schlüsselwort (keyword) extern wird vor den Deklarationen eingefügt.

Beispiele

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

Weitere Informationen

const

Inhalt einer Typbibliothek

Dllname

Eintrag

Generieren einer Typbibliothek mit MIDL

helpcontext

helpstring

Versteckte

ODL-Dateisyntax

propget

propput

propputref

Schnur

TYPEFLAGS

UUID

vararg

Version