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.