LRESULT result = ::SendMessage(hWnd, s_MaxGetTaskInterface, (WPARAM)&pUnkReturn, 0);

调用后的结果值为0

我希望它以有效值pUnkReturn返回,但它以NULL值返回。

致电之前需要的信息:
const UINT CMotionUtils::s_MaxGetTaskInterface =  RegisterWindowMessage(_T("NI:Max:GetTaskInterface"));

我在这里得到的s_MaxGetTaskInterface的值为49896。

hWnd的值也合适。我使用Spy ++(Visual Studio工具)进行了检查。

“Microft Spy ++消息”窗口向我显示了此窗口的以下内容。
<00001> 009F067C S message:0xC2E8 [Registered:"NI:Max:GetTaskInterface"]wParam:0224C2D0 lParam:00000000
<00002> 009F067C S message:0xC2E8 [Registered:"NI:Max:GetTaskInterface"]lResult:00000000

通话结束后,请帮助我获取存储在pUnkReturn中的有效地址。

最佳答案

我认为基于匈牙利前缀,需要&in&pUnkReturn。我希望pUnkReturn具有类型IUnknown *。消息接收者将提供IUnknown *。它存储IUnknown *的地址是IUnknown **。因此,此代码传入&pUnkReturn,并且消息接收者写入*(IUnknown **)wParam。

关于c++ -::发信息( ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/100678/

10-10 05:11