Поделиться через


Текст интерфейса IDL

Текст интерфейса IDL содержит типы данных, используемые в вызовах удаленных процедур и прототипах функций для удаленных процедур. Текст интерфейса также может содержать импорт, pragmas, объявления констант и объявления типов. В режиме расширений Майкрософт компилятор MIDL также позволяет неявным объявлениям в виде определений переменных.

В следующем примере показан IDL-файл, содержащий определение интерфейса. Текст определения интерфейса, который происходит между фигурными скобками, содержит определение константы (BUFSIZE), типа (PCONTEXT_HANDLE_TYPE), а также некоторые удаленные процедуры (RemoteOpen, RemoteRead, RemoteCloseи завершение работы).

[ 
  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.