De hoofdtekst van de IDL-interface
De hoofdtekst van de IDL-interface bevat gegevenstypen die worden gebruikt in externe procedure-aanroepen en de prototypen van de functie voor de externe procedures. De interfacetekst kan ook import-, pragma's, constante declaraties en typedeclaraties bevatten. In de Microsoft-uitbreidingsmodus staat de MIDL-compiler ook impliciete declaraties toe in de vorm van variabeledefinities.
In het volgende voorbeeld ziet u een IDL-bestand met de definitie van een interface. De hoofdtekst van de interfacedefinitie, die zich tussen de accolades voordoet, bevat de definitie van een constante (BUFSIZE), een type (PCONTEXT_HANDLE_TYPE) en een aantal externe procedures (RemoteOpen, RemoteRead, RemoteCloseen 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);
}
Zie de MIDL Language Referencevoor meer informatie.