Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Function return values are similar to [out]-only parameters because their data is not provided by the client application. However they are managed differently. Unlike [out]-only parameters, they are not required to be pointers. The remote procedure can return any valid data type except reference pointers and nonencapsulated unions.
However, using an [out] parameter instead of a return value for complex data types is recommended. While returning complex data types, the MIDL compiler will generate an /Os mode stub. As a result, all recent error-checking information provided by /robust is lost.
Function return values that are pointer types are allocated by the client stub with a call to midl_user_allocate. Accordingly, only the unique or full pointer attribute can be applied to a pointer function-return type.