IDL 接口正文

IDL 接口正文包含远程过程调用中使用的数据类型和远程过程的函数原型。 接口正文还可以包含导入、杂注、常量声明和类型声明。 在 Microsoft 扩展模式下,MIDL 编译器还允许以变量定义的形式进行隐式声明。

以下示例演示包含接口定义的 IDL 文件。 在大括号之间出现的接口定义的正文包含常量 (BUFSIZE) 、类型 (PCONTEXT_HANDLE_TYPE) ,以及一些远程过程 (RemoteOpenRemoteReadRemoteCloseShutdown) 。

[ 
  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); 
 
}

有关详细信息,请参阅 MIDL 语言参考