Corps de l’interface IDL
Le corps de l’interface IDL contient les types de données utilisés dans les appels de procédure distante et les prototypes de fonction pour les procédures distantes. Le corps de l’interface peut également contenir des importations, des pragmas, des déclarations constantes et des déclarations de type. En mode Microsoft-extensions, le compilateur MIDL autorise également les déclarations implicites sous la forme de définitions de variables.
L’exemple suivant montre un fichier IDL contenant la définition d’une interface. Le corps de la définition d’interface, qui se trouve entre les crochets, contient la définition d’une constante (BUFSIZE), d’un type (PCONTEXT_HANDLE_TYPE) et de certaines procédures distantes (RemoteOpen, RemoteRead, RemoteClose et 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);
}
Pour plus d’informations, consultez informations de référence sur le langage MIDL.