IDL 文件
IDL 文件由一个或多个接口定义组成,每个接口定义都有一个标头和一个正文。 标头包含应用于整个接口的信息,例如 UUID。 此信息括在方括号中,后跟关键字 (keyword) 接口和接口名称。 正文包含 C 样式的数据类型定义和函数原型,并用描述如何通过网络传输数据的属性进行扩充。
在此示例中,接口标头仅包含 UUID 和版本号。 版本号可确保当 RPC 接口有多个版本时,仅连接客户端和服务器的兼容版本。
接口正文包含 HelloProc 的函数原型。 在此原型中,函数参数 pszString 具有 [in] 和 [string] 属性。 [in] 属性告知运行时库,参数仅从客户端传递到服务器。 [string] 属性指定存根应将 参数视为 C 样式的字符串。
客户端应用程序应该能够关闭服务器应用程序,因此接口包含另一个远程函数 Shutdown 的原型,该原型将在本教程稍后实现。
//file hello.idl
[
uuid(7a98c250-6808-11cf-b73b-00aa00b677a7),
version(1.0)
]
interface hello
{
void HelloProc([in, string] unsigned char * pszString);
void Shutdown(void);
}