Der IDL-Schnittstellentext
Der IDL-Schnittstellentext enthält Datentypen, die in Remoteprozeduraufrufen verwendet werden, und die Funktionsprototypen für die Remoteprozeduren. Der Schnittstellentext kann auch Importe, Pragmas, Konstantendeklarationen und Typdeklarationen enthalten. Im Microsoft-Erweiterungsmodus lässt der MIDL-Compiler auch implizite Deklarationen in Form von Variablendefinitionen zu.
Das folgende Beispiel zeigt eine IDL-Datei, die die Definition einer Schnittstelle enthält. Der Text der Schnittstellendefinition, der zwischen den geschweiften Klammern auftritt, enthält die Definition einer Konstanten (BUFSIZE), eines Typs (PCONTEXT_HANDLE_TYPE) und einige Remoteprozeduren (RemoteOpen, RemoteRead, RemoteClose und 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);
}
Weitere Informationen finden Sie in der MIDL-Sprachreferenz.