【发布时间】:2013-04-07 15:16:33
【问题描述】:
我有一个 DLL,它为函数提供了一个可变参数列表,其定义如下
my_func(int var,...)
根据 my_func() 的调用方式,它需要或多或少的附加参数。
现在这个 DLL 必须由基于 MFC 的 ActiveX 控件包装。对于方法定义,我可以找到许多 VT_ 和 VTS_ 定义包装到特定的预定义类型。但是是否也可以有一个带有这种可变参数列表的 ActiveX 方法?
如果是:如何实施?
【问题讨论】:
-
您可以考虑一个具有所有相关值的(固定大小)结构/记录,然后只提供一个指针。然后就值/标志达成一致以指示空字段。或者,两个变量,其中一个是指向结构的指针(带有适用于特定场景的数据),另一个是该类型结构的标识符。在 Windows API 中,结构体大小通常用作(版本)标识符。