Текст интерфейса 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.