Windows Mobile 建立与短信信箱的连接
2010-06-03 22:56:00 来源:WEB开发网};
// 获取Folder的Entry ID,然后通过OpenEntry获得对象
m_pMsgStore->GetProps((LPSPropTagArray) &Columns, MAPI_UNICODE, &ulValues, &stProps);
hr=m_pMsgStore->OpenEntry(stProps[0].Value.bin.cb, (LPENTRYID)stProps[0].Value.bin.lpb, NULL, MAPI_MODIFY, NULL, (LPUNKNOWN*)&m_pFolder );
if(FAILED(hr) || NULL==m_pFolder)
{
//异常处理
}
MAPIFreeBuffer(stProps); //释放掉对象
8. 释放掉Folder对象
If(NULL!=m_pFoder)
{
m_pFolder->Release();
}
9. 本节所涉及到的源程序
//获取IMAPISession会话对象
void Session()
{
IMAPISession *m_pSession=NULL;
hr=MAPILogonEx(NULL,NULL,NULL,NULL,&m_pSession);
if(FAILED(hr) || NULL==m_pSession)
{
//异常处理
}
}
//获取指向短信仓库的IMsgStroe接口对象
void MsgStore()
{
IMAPITable *m_pTable = NULL;
HRESULT hr = 0;
SRowSet *m_pRows = NULL;
SizedSPropTagArray(2 , Columns) =
{
2 ,
PR_ENTRYID, //
PR_DISPLAY_NAME //Display Name
};
if(NULL==m_pSession)
{
//异常处理
}
hr=m_pSession->GetMsgStoresTable(MAPI_UNICODE , &m_pTable); //获取IMAPITable对象
if(FAILED(hr) || NULL==m_pTable)
{
//没有取到表结构或取表结构时出错
}
hr=m_pTable->SetColumns((LPSPropTagArray)&Columns, 0); //设置行记录结构
if(FAILED(hr))
{
//异常处理
}
while(SUCCEEDED(m_pTable->QueryRows(1, 0, &m_pRows))) //循环遍历所有行记录
{
if (NULL == m_pRows || m_pRows->cRows != 1)
{
break;
}
更多精彩
赞助商链接