Article ID: 177623
Article Last Modified on 3/4/2004
hr = AllMessageRule(m_lpExchTbl,
lpFolder,0,lStateFlags,
lpRes,lpActs,"MSFT:TDX Rules",0,"");
if (FAILED(hr))
{
MessageBox(NULL,"Insert Failed",NULL,MB_OK);
goto cleanup;
}
HRESULT AllMessageRule(IN LPEXCHANGEMODIFYTABLE m_lpExchTbl,
IN LPMAPIFOLDER lpFolder,
IN ULONG ulSequence,
IN ULONG ulState,
IN LPSRestriction lpRestriction,
IN LPACTIONS lpActions,
IN LPSTR lpszProvider,
IN ULONG ulLevel,
IN LPSTR lpszName)
{
HRESULT hr = S_OK;
SizedROWLIST(1, RowList) = {0};
LPROWENTRY lpRowEntry = NULL;
LPROWLIST lpRowList = (LPROWLIST)&RowList;
SPropValue rgPropVals[9] = {0};
rgPropVals[0].ulPropTag = PR_RULE_SEQUENCE;
rgPropVals[0].Value.ul = ulSequence;
rgPropVals[1].ulPropTag = PR_RULE_STATE;
rgPropVals[1].Value.ul = ulState;
rgPropVals[2].ulPropTag = PR_RULE_CONDITION;
rgPropVals[2].Value.ul = (ULONG)lpRestriction;
rgPropVals[3].ulPropTag = PR_RULE_ACTIONS;
rgPropVals[3].Value.ul = (ULONG)lpActions;
rgPropVals[4].ulPropTag = PR_RULE_PROVIDER;
rgPropVals[4].Value.lpszA = lpszProvider;
rgPropVals[5].ulPropTag = PR_RULE_LEVEL;
rgPropVals[5].Value.ul = NULL;
rgPropVals[6].ulPropTag = PR_RULE_NAME;
rgPropVals[6].Value.lpszA = lpszName;
rgPropVals[7].ulPropTag = PR_RULE_USER_FLAGS;
rgPropVals[7].Value.ul = NULL;
rgPropVals[8].ulPropTag = PR_RULE_PROVIDER_DATA;
rgPropVals[8].Value.ul = NULL;
lpRowList->cEntries = 1;
lpRowEntry = lpRowList->aEntries;
lpRowEntry->ulRowFlags = ROW_ADD;
lpRowEntry->cValues = 9;
lpRowEntry->rgPropVals = (LPSPropValue)rgPropVals;
// Modify the RULE table
hr = m_lpExchTbl->ModifyTable(0, lpRowList);
if (FAILED(hr))
{
goto cleanup;
}
cleanup:
ULRELEASE(m_lpExchTbl);
RETURN(hr);
}
Keywords: kbapi kbmsg kbprb kbcode KB177623