O corpo da interface IDL
O corpo da interface IDL contém tipos de dados usados em chamadas de procedimento remoto e os protótipos de função para os procedimentos remotos. O corpo da interface também pode conter importações, pragmas, declarações constantes e declarações de tipo. No modo de extensões da Microsoft, o compilador MIDL também permite declarações implícitas na forma de definições de variáveis.
O exemplo a seguir mostra um arquivo IDL que contém a definição de uma interface. O corpo da definição de interface, que ocorre entre os colchetes, contém a definição de uma constante (BUFSIZE), um tipo (PCONTEXT_HANDLE_TYPE) e alguns procedimentos remotos (RemoteOpen, RemoteRead, RemoteClose e Shutdown).
[
uuid (ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0),
pointer_default(unique)
]
interface cxhndl
{
const short BUFSIZE = 1024;
typedef [context_handle] void *PCONTEXT_HANDLE_TYPE;
short RemoteOpen(
[out] PCONTEXT_HANDLE_TYPE *pphContext,
[in, string] unsigned char *pszFile
);
short RemoteRead(
[in] PCONTEXT_HANDLE_TYPE phContext,
[out] unsigned char achBuf[BUFSIZE],
[out] short *pcbBuf
);
short RemoteClose( [in, out] PCONTEXT_HANDLE_TYPE *pphContext );
void Shutdown(void);
}
Para obter mais informações, consulte a Referência de Linguagem MIDL.