Share via


Atributo module

A instrução module define um grupo de funções, normalmente um conjunto de pontos de entrada de DLL.

[
    attributes
]
module modulename 
{
    elementlist
};

Parâmetros

attributes

Os atributos [uuid], [version], [helpstring], [helpcontext], [hidden]e [dllname] são aceitos antes de uma instrução module . Consulte Descrições de atributo, no livro Automação OLE, para obter mais informações sobre os atributos aceitos antes de uma definição de módulo. O atributo [dllname] é necessário. Se o atributo [uuid] for omitido, o módulo não será especificado exclusivamente no sistema.

Modulename

O nome do módulo.

elementlist

Lista de definições constantes e protótipos de função para cada função na DLL. Qualquer número de definições de função pode aparecer na lista de funções. Uma função na lista de funções tem o seguinte formulário:

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

[atributos] const constanttype constname = constval;

Somente os atributos [helpstring] e [helpcontext] são aceitos para um const.

Os seguintes atributos são aceitos em uma função em um módulo: [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref], e [vararg]. Se [vararg] for especificado, o último parâmetro deverá ser uma matriz segura do tipo VARIANT .

A convenção de chamada opcional pode ser uma das __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl ou __stdcall/_stdcall/stdcall. O paramname do tipo de convenção de chamada pode incluir até dois sublinhados à esquerda.

A lista de parâmetros é uma lista delimitada por vírgulas de:

[atributos]

O tipo pode ser qualquer tipo declarado anteriormente ou tipo interno, um ponteiro para qualquer tipo ou um ponteiro para um tipo interno. Os atributos nos parâmetros são:

[in], [out], [opcional].

Se [opcional] for usado, os tipos desses parâmetros deverão ser VARIANT ou VARIANT*.

Comentários

A saída do arquivo de cabeçalho (.h) para módulos é uma série de protótipos de função. O módulo palavra-chave e colchetes ao redor são retirados da saída do arquivo de cabeçalho (.h), mas um comentário (//module modulename) é inserido antes dos protótipos. O palavra-chave extern é inserido antes das declarações.

Exemplos

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

Confira também

const

Conteúdo de uma biblioteca de tipos

Dllname

Entrada

Gerando uma biblioteca de tipos com MIDL

Helpcontext

helpstring

Escondidos

Sintaxe de arquivo ODL

propget

propput

propputref

String

TYPEFLAGS

uuid

vararg

version