2013-10-23 37 views
0

我處於這種情況下,我必須模擬WinAPI調用,並有一些困難,我能夠使C函數嘲笑在HippoMocks中工作。HippoMocks - 如何模擬用戶定義的結構,特別是WinAPI結構

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函數。

+0

也許從這一個重複:http://stackoverflow.com/questions/28396085/hippomocks-expect-call-with-class-instance – mrAtari

回答

0

這應該現在工作。我不完全確定你是如何得到那個確切的錯誤的;如果參數是一個LPSYSTEMTIME,它將永遠不會嘗試對其進行解引用。你能用當前版本重現這個錯誤嗎?