atributo module
La instrucción module define un grupo de funciones, normalmente un conjunto de puntos de entrada dll.
[
attributes
]
module modulename
{
elementlist
};
Parámetros
-
attributes
-
Los atributos [uuid], [version], [helpstring], [helpcontext], [hidden] y [dllname] se aceptan antes de una instrucción de módulo . Consulte Descripciones de atributos, en el libro automatización OLE, para obtener más información sobre los atributos aceptados antes de una definición de módulo. Se requiere el atributo [dllname]. Si se omite el atributo [uuid], el módulo no se especifica de forma única en el sistema.
-
modulename
-
El nombre del módulo.
-
elementlist
-
Lista de definiciones de constantes y prototipos de función para cada función del archivo DLL. Cualquier número de definiciones de función puede aparecer en la lista de funciones. Una función de la lista de funciones tiene el siguiente formato:
[atributos] returntype [calling convention funcname](params);
[atributos] const constanttype constname = constval;
Solo se aceptan los atributos [helpstring] y [helpcontext] para un const.
Los atributos siguientes se aceptan en una función de un módulo: [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref] y [vararg]. Si se especifica [vararg], el último parámetro debe ser una matriz segura de tipo VARIANT .
La convención de llamada opcional puede ser una de __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl o __stdcall/_stdcall/stdcall. El tipo de convención de llamada paramname puede incluir hasta dos caracteres de subrayado iniciales.
La lista de parámetros es una lista delimitada por comas de:
[atributos]
El tipo puede ser cualquier tipo declarado previamente o tipo integrado, un puntero a cualquier tipo o un puntero a un tipo integrado. Los atributos de los parámetros son:
Si se usa [opcional], los tipos de esos parámetros deben ser VARIANT o VARIANT*.
Observaciones
La salida del archivo de encabezado (.h) para los módulos es una serie de prototipos de función. La palabra clave del módulo y los corchetes circundantes se quitan de la salida del archivo de encabezado (.h), pero se inserta un comentario (//module modulename) antes de los prototipos. La palabra clave extern se inserta antes de las declaraciones.
Ejemplos
[
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);
};
Vea también