MIDL 编译器不接受 [out]的唯一或完整指针。 此类规范会导致 MIDL 编译器生成错误消息。
自动生成的服务器存根必须为指针引用分配内存,以便服务器应用程序可以将数据存储在该内存区域中。 根据 [out]-only 参数的定义,不会将有关该参数的信息从客户端传输到服务器。 如果唯一指针可以取值为 null,则服务器存根没有足够的信息来正确复制服务器地址空间中的唯一指针,也没有任何关于指针应指向有效地址或是否应设置为 null 的任何信息。 因此,不允许这种组合。
唯一的] 或 [out, ptr] 指针,而不是 [out、唯一] use [in, out, unique] 或 [in, out, ptr] 指针, 或使用另一级别的间接,例如指向有效唯一或完整指针的引用指针。