关于Wab32的一个方法

caobob 2012-02-06 05:18:05
这段代码执行的结果是DeleteEntries失败。我想把这个Wab文件里的联系人清空。请做过类似项目的人帮我。谢谢


HRESULT CWAB::DeleteEntry()
{
HRESULT hr = hrSuccess;
ULONG cbWABEID = 0;
LPENTRYID lpWABEID = NULL;
LPABCONT lpWABCont = NULL;
ULONG ulObjType;
SBinaryArray SBA;

hr = m_lpAdrBook->GetPAB( &cbWABEID, &lpWABEID);
if(HR_FAILED(hr))
goto out;

hr = m_lpAdrBook->OpenEntry(cbWABEID, lpWABEID, NULL, 0, &ulObjType, (LPUNKNOWN *)&lpWABCont);

if(HR_FAILED(hr))
goto out;

SBA.cValues = 1;
SBA.lpbin = &m_SB;

hr = lpWABCont->DeleteEntries((LPENTRYLIST) &SBA, 0);

if(m_lpPropArray)
m_lpWABObject->FreeBuffer(m_lpPropArray);

m_lpPropArray = NULL;
m_ulcValues = 0;

out:
if(lpWABCont)
lpWABCont->Release();

if(lpWABEID)
m_lpWABObject->FreeBuffer(lpWABEID);

return hr;
}


...全文
100 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-02-07
  • 打赏
  • 举报
回复
C++不太懂
真相重于对错 2012-02-07
  • 打赏
  • 举报
回复
单步调试,检测异常
caobob 2012-02-07
  • 打赏
  • 举报
回复
自己顶一顶
caobob 2012-02-07
  • 打赏
  • 举报
回复
问题解决了。要遍历容器,找到每个联系人的地址后删除。
caobob 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 laokaizzz 的回复:]
你这是c++代码吧,这里是.net技术,是不是问错地方了啊
[/Quote]

都是通的。说白了调用一个wab32.dll这个COM组件。应该有大侠懂的。
laokaizzz 2012-02-06
  • 打赏
  • 举报
回复
你这是c++代码吧,这里是.net技术,是不是问错地方了啊

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧