Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Outlook 2013 | Outlook 2016
Der folgende Beispielcode zeigt, wie Sie eine Einschränkung erstellen, die alle Nachrichten herausfiltert, die nicht das Wort "Volleyball" in der Betreffzeile enthalten und nicht von Sam an Sue gesendet wurden. Eine Struktur von SRestriction-Strukturen ist erforderlich, wobei der oberste Knoten eine AND-Einschränkung ist, die mit einer SAndRestriction-Struktur implementiert wird. Die drei Einschränkungen, die durch den AND-Vorgang verknüpft werden, sind eine Unterobjekteinschränkung, die nach nachrichten sucht, die an Sue gesendet werden, eine Inhaltsbeschränkung, die nach Nachrichten von Sam sucht, und eine andere AND-Einschränkung , die nach Nachrichten sucht, die einen Betreff mit "Volleyball" enthalten. Da PR_SUBJECT (PidTagSubject) keine erforderliche Eigenschaft ist, muss eine Exist-Einschränkung eingeschlossen werden.
Dieser Code verwendet dynamische Zuordnung und Initialisierung. Es ist auch möglich, statisch zuzuordnen und zu initialisieren. Aus Gründen der Kürze ist die Fehlerüberprüfung, die nach den Zuordnungsaufrufen erfolgen muss, nicht in das Beispiel eingeschlossen.
HRESULT BuildRestriction (LPSTR pszSent, LPSTR pszFrom,
LPSTR pszSubjectText);
{
LPSRestriction pRest, pAndRes, pObjRes, pSubjAndRes;
LPSPropValue pRecip, pSender, pSubject;
HRESULT hResult;
ULONG ulResCount = 3, ulSubjCount = 2
// Allocate and build restriction to join criteria
hResult = MAPIAllocateMore (sizeof(SRestriction)*ulResCount, pRest,
(LPVOID *)&pAndRes);
pRest->rt = RES_AND;
pRest->res.resAnd.cRes = ulResCount;
pRest->res.resAnd.lpRes = pAndRes;
// Allocate and build subobject restriction to search recipient list
hResult = MAPIAllocateMore (sizeof(SRestriction), pRest,
(LPVOID *)&pObjRes);
pAndRes[0].rt = RES_SUBRESTRICTION;
pAndRes[0].res.resSub.ulSubObject = PR_MESSAGE_RECIPIENTS;
pAndRes[0].res.resSub.lpRes = pObjRes;
// Allocate and build content restriction to look for recipient
hResult = MAPIAllocateMore (sizeof(SPropValue), pRest,
(LPVOID *)&pRecip);
pObjRes->rt = RES_CONTENT;
pObjRes->res.resContent.ulFuzzyLevel =
FL_FULLSTRING | FL_IGNORECASE;
pObjRes->res.resContent.ulPropTag = pRecip->ulPropTag =
PR_DISPLAY_NAME;
pObjRes->res.resContent.lpProp = pRecip;
pRecip->Value.LPSZ = pszSent; // pszSent set to Sue
// Allocate and build content restriction to look for sender
hResult = MAPIAllocateMore (sizeof(SPropValue), pRest,
(LPVOID *)&pSend);
pAndRes[1].rt = RES_CONTENT;
pAndRes[1].res.resContent.ulFuzzyLevel =
FL_FULLSTRING | FL_IGNORECASE;
pAndRes[1].res.resContent.ulPropTag = pSend->ulPropTag =
PR_SENDER_NAME;
pAndRes[1].res.resContent.lpProp = pSend;
pSend->Value.LPSZ = pszName; // pszName set to Sam
// Allocate and build restriction to look for subject
hResult = MAPIAllocateMore (sizeof(SRestriction)*ulSubjCount, pRest,
(LPVOID *)&pSubjAndRes);
pRest->rt = RES_AND;
pRest->res.resAnd.cRes = ulResCount;
pRest->res.resAnd.lpRes = pAndRes;
// Create an restriction to search for subject
hResult = MAPIAllocateMore (sizeof(SPropValue), pRest,
(LPVOID *)&pSubjAndRes);
pAndRes[2].rt = RES_AND;
pAndRes[2].res.resAnd.cRes = ulSubjCount;
pAndRes[2].res.resAnd.lpRes = pSubjAndRes;
// Exist restriction to check that PR_SUBJECT exists
hResult = MAPIAllocateMore (sizeof(SPropValue), pRest,
(LPVOID *)&pSubj);
pSubjAndRes[0].rt = RES_EXIST;
pSubjAndRes[0].res.resExist.ulReserved1 = 0;
pSubjAndRes[0].res.resExist.ulReserved2 = 0;
pSubjAndRes[0].res.resExist.ulPropTag = PR_SUBJECT;
// Content restriction to check for "volleyball" in subject
hResult = MAPIAllocateMore (sizeof(SPropValue), pRest,
(LPVOID *)&pSubj);
pSubjAndRes[1].res.resContent.ulFuzzyLevel =
FL_SUBSTRING | FL_IGNORECASE;
pSubjAndRes[1].res.resContent.ulPropTag = pSubj->ulPropTag =
PR_SUBJECT;
pSubjAndRes[1].res.resContent.lpProp = pSubj;
pSubj->Value.LPSZ = pszSubjectText;
return hResult;
}