确定 Outlook 项目是否已修改但未 (Outlook 辅助引用)
本主题演示如何使用 dispidFDirty调度 ID 调用相应的属性,Outlook 项,可查看该项目是否已修改,并且尚未保存。
给定一个 item 对象,可以使用IUnknown::QueryInterface方法来获取的IDispatch接口指针。 主题 FIsItemDirty
中的函数接受 IDispatch 指针 pdisp 作为输入参数。
FIsItemDirty
调用 IDispatch::Invoke 方法,将 dispidFDirty 指定为 dispIdMember 参数的参数以及 wFlags 的标志DISPATCH_METHOD | DISPATCH_PROPERTYGET
,以验证是否已修改该项。
FIsItemDirty
返回一个布尔值 (True 以指示项具有未保存的更改;否则为 False) 。
bool FIsItemDirty(IDispatch *pdisp)
{
DISPPARAMS dispparams;
UINT uArgErr;
HRESULT hr = S_OK;
CComVariant varDirty;
dispparams.rgvarg = 0;
dispparams.cArgs = 0;
dispparams.cNamedArgs = 0;
dispparams.rgdispidNamedArgs = NULL;
hr = pdisp->Invoke(dispidFDirty,
IID_NULL,
LOCALE_SYSTEM_DEFAULT,
DISPATCH_METHOD | DISPATCH_PROPERTYGET,
&dispparams,
&varDirty,
NULL,
&uArgErr);
return SUCCEEDED(hr) && varDirty.bVal;
}