ACF 文件

使用 ACF 文件可以自定义客户端和/或服务器应用程序的 RPC 接口,而不会影响接口的网络特征。 例如,如果客户端应用程序包含仅在本地计算机上具有含义的复杂数据结构,则可以在 ACF 文件中指定如何在远程过程调用的计算机无关窗体中表示该结构中的数据。

本教程演示 ACF 文件的另一种用法-指定表示客户端和服务器之间的连接的绑定句柄的类型。 ACF 标头中的 [implicit_handle] 属性允许客户端应用程序为其远程过程调用选择服务器。 ACF 将句柄定义为 MIDL 基元数据类型 (类型 handle_t) 。 MIDL 编译器会将 ACF 指定的绑定句柄名称hello_IfHandle放入其生成的头文件中。 请注意,此特定 ACF 文件具有空的正文。

//file: hello.acf
[
    implicit_handle (handle_t hello_IfHandle)
] 
interface hello
{
}

MIDL 编译器有一个选项 /app_config,用于在 IDL 文件中包含某些 ACF 属性(如 implicit_handle),而不是创建单独的 ACF 文件。 如果应用程序不需要大量特殊配置,并且严格的 OSF 兼容性不是问题,请考虑使用此选项。