固定数组

如果接口将具有特定数量的元素的数组指定为参数,则它使用固定数组。 使用 MIDL 时,定义固定数组的方式与在 C 中定义固定数组的方式相同。指定数组的类型、名称和大小。

以下示例演示如何定义固定数组。

[
    /*Attributes are defined here. */
]
interface MyInterface
{
    const long ARRAY_SIZE = 1000;

    MyRemoteProc(char achArray[ARRAY_SIZE]);

    /* Other interface procedures are defined here. */
}

当客户端程序将固定数组传递给服务器程序时,客户端存根会将整个数组发送到服务器存根。 服务器存根为数组分配内存,并将其通过网络接收的数组数据存储到分配的内存中。 然后,它将数组传递到服务器上的远程过程。 服务器可以修改数组中的数据。

远程过程终止时,服务器存根会将数组的内容发送回客户端。 客户端存根将其从服务器存根接收的数据复制到原始数组中。 然后,客户端程序可以像从本地过程调用接收数据一样使用数据。