函数返回值

函数返回值类似于 [out]-only 参数,因为它们的数据不是客户端应用程序提供的。 但是,它们以不同的方式进行管理。 与 [out]-only 参数不同,它们不需要是指针。 远程过程可以返回除引用指针和非capsulated 联合之外的任何有效数据类型。

但是,建议使用 [out] 参数,而不是复杂数据类型的返回值。 返回复杂数据类型时,MIDL 编译器将生成 /Os 模式存根。 因此,/robust 提供的所有最近错误检查信息都将丢失。

作为指针类型的函数返回值由客户端存根分配,并调用 midl_user_allocate。 因此,只能将唯一或完整的指针属性应用于指针函数返回类型。