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 言語リファレンス」を参照してください