验证附件是否已遭阻止

适用于:Outlook 2013 | Outlook 2016

C++ 中的此代码示例演示如何使用 IAttachmentSecurity :IUnknown 接口来确定附件是被Microsoft Outlook 2010阻止,还是Microsoft Outlook 2013进行查看和编制索引。

IAttachmentSecurity :IUnknown 派生自 IUnknown 接口。 可以通过在 MAPI 会话对象上调用 IUnknown::QueryInterface 来获取 IAttachmentSecurity : IUnknown 接口,请求IID_IAttachmentSecurity。 如果附件被 Outlook 2010 或 Outlook 2013 视为不安全,并且被阻止在 Outlook 2010 或 Outlook 2013 中查看和编制索引,则 IAttachmentBlockedpfBlocked 中返回 true

HRESULT IsAttachmentBlocked(LPMAPISESSION lpMAPISession, LPCWSTR pwszFileName, BOOL* pfBlocked) 
{ 
    if (!lpMAPISession || !pwszFileName || !pfBlocked) return MAPI_E_INVALID_PARAMETER; 
 
    HRESULT hRes = S_OK; 
    IAttachmentSecurity* lpAttachSec = NULL; 
    BOOL bBlocked = false; 
 
    hRes = lpMAPISession->QueryInterface(IID_IAttachmentSecurity,(void**)&lpAttachSec); 
    if (SUCCEEDED(hRes) && lpAttachSec) 
    { 
        hRes = lpAttachSec->IsAttachmentBlocked(pwszFileName,&bBlocked); 
    } 
    if (lpAttachSec) lpAttachSec->Release(); 
 
    *pfBlocked = bBlocked; 
    return hRes; 
}