Closed moomiji closed 2 weeks ago
传入
不可
传回
可
@param[<dir>]
array
/**< array */
/** * @param[in] value The option value. */ MAA_FRAMEWORK_API MaaBool MaaSetGlobalOption(MaaGlobalOption key, MaaOptionValue value /**< Maybe a byte array */, MaaOptionValueSize val_size); /** * @param[out] node_id_list * @param[in, out] node_id_list_size */ MAA_FRAMEWORK_API MaaBool MaaQueryTaskDetail( MaaTaskId task_id, /* out */ MaaStringBufferHandle entry, /* out */ MaaNodeId* node_id_list /**< array */, /* in & out */ MaaSize* node_id_list_size);
对 Binding(被调用方) 而言, 需要将图片数据写入 buffer 传回 Maa(调用方)。
但实际数据为 MaaImageBufferHandle,由 Maa(调用方)传入 Binding(被调用方)。
故 buffer 参数的文档应使用 [in] 属性而不是 [out] 属性,指示 Binding 不可修改 MaaImageBufferHandle。
当然,由于 MaaImageBufferHandle 实际上就是一个 Handle 作为数据在传来传去,并不属于 实际为引用行为的指针,不需要在文档中明确标注。
实际为引用行为的指针
上面的 MaaStringBufferHandle 也不属于 实际为引用行为的指针,因此 @param[out] 属于多余标注。
@param[out]
快点端上来吧.jpg
实际为引用行为的指针 | 指向数组的指针
传入
到 被调用方,被调用方不可
修改数据。传回
到 调用方 ,被调用方可
修改数据。例外
示例
@param[<dir>]
中进行。相关文档array
关键字,即/**< array */
,避免开发者误解为引用。错误示例
对 Binding(被调用方) 而言, 需要将图片数据写入 buffer 传回 Maa(调用方)。
但实际数据为 MaaImageBufferHandle,由 Maa(调用方)传入 Binding(被调用方)。
故 buffer 参数的文档应使用 [in] 属性而不是 [out] 属性,指示 Binding 不可修改 MaaImageBufferHandle。
当然,由于 MaaImageBufferHandle 实际上就是一个 Handle 作为数据在传来传去,并不属于
实际为引用行为的指针
,不需要在文档中明确标注。上面的 MaaStringBufferHandle 也不属于
实际为引用行为的指针
,因此@param[out]
属于多余标注。