El cuerpo de la interfaz IDL
El cuerpo de la interfaz IDL contiene tipos de datos usados en las llamadas a procedimientos remotos y los prototipos de función para los procedimientos remotos. El cuerpo de la interfaz también puede contener importaciones, pragmas, declaraciones de constantes y declaraciones de tipo. En el modo de extensiones de Microsoft, el compilador MIDL también permite declaraciones implícitas en forma de definiciones de variables.
En el ejemplo siguiente se muestra un archivo IDL que contiene la definición de una interfaz. El cuerpo de la definición de interfaz, que se produce entre los corchetes, contiene la definición de una constante (BUFSIZE), un tipo (PCONTEXT_HANDLE_TYPE) y algunos procedimientos remotos (RemoteOpen, RemoteRead, RemoteClose y 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 obtener más información, consulte referencia del lenguaje MIDL.