0

我处于必须模拟 WinAPI 调用的情况,并且遇到了一些困难,我能够让 C 函数模拟在 HippoMocks 中工作。

1) 我发现 Assembla 上的 HippoMocks 存储库没有 C 函数模拟。我能够在 github 的存储库中找到它。

2) 我无法模拟具有用户定义的输出参数的函数。例如,我尝试了一个简单的 WinAPI 函数—— GetSystemTime,它不返回任何内容。相反,它采用 LPSYSTEMTIME 类型的输出参数。当我尝试模拟此函数时,我看到以下类型的错误:

error C2679: binary '=' : no operator found which takes a right-hand operand of type '_SYSTEMTIME *' (or there is no acceptable conversion)

问题似乎是模拟框架抱怨 SYSTEMTIME 类型的对象没有赋值运算符这一事实。如何解决这个问题?

注 1:我成功地能够使用简单的参数/返回值模拟 WinAPI 函数。

4

1 回答 1

0

现在应该可以了。我不完全确定你是如何得到那个确切的错误的;如果参数是 LPSYSTEMTIME 它永远不会尝试取消引用它。你能用当前版本重现这个错误吗?

于 2014-01-21T15:17:20.280 回答