In many real world COM APIs the out parameters aren't only at the end of the parameter list. In the past this meant these APIs would need to be modeled with *mut Ptrs instead of being able to use Intercom's -> ComResult<(...)> return values.
This PR allows using -> ComResult<...> while manually specifying the parameter order for the COM method. This is done with the #[com_signature(..)] attribute on the method:
In many real world COM APIs the out parameters aren't only at the end of the parameter list. In the past this meant these APIs would need to be modeled with
*mut Ptr
s instead of being able to use Intercom's-> ComResult<(...)>
return values.This PR allows using
-> ComResult<...>
while manually specifying the parameter order for the COM method. This is done with the#[com_signature(..)]
attribute on the method: