IAddrBook::CompareEntryIDs

适用于:Outlook 2013 | Outlook 2016

比较属于特定通讯簿提供程序的两个条目标识符,以确定它们是否引用同一通讯簿对象。

HRESULT CompareEntryIDs(
  ULONG cbEntryID1,
  LPENTRYID lpEntryID1,
  ULONG cbEntryID2,
  LPENTRYID lpEntryID2,
  ULONG ulFlags,
  ULONG FAR * lpulResult
);

参数

cbEntryID1

[in] lpEntryID1 参数指向的条目标识符中的字节计数。

lpEntryID1

[in]指向要比较的第一个条目标识符的指针。

cbEntryID2

[in] lpEntryID2 参数指向的条目标识符中的字节计数。

lpEntryID2

[in]指向要比较的第二个条目标识符的指针。

ulFlags

[in]保留;必须为零。

lpulResult

[out]指向比较结果的指针。 如果两个条目标识符引用同一对象,则 lpulResult 的内容设置为 TRUE:否则,内容设置为 FALSE。

返回值

S_OK

调用成功,并返回了预期的值。

MAPI_E_UNKNOWN_ENTRYID

任何通讯簿提供程序都无法识别使用 lpEntryID1lpEntryID2 参数传入的一个或两个条目标识符。

备注

客户端应用程序和服务提供商调用 CompareEntryIDs 方法以比较属于单个通讯簿提供程序的两个条目标识符,以确定它们是否引用同一对象。 CompareEntryID 很有用,因为对象可以有多个有效的条目标识符。 例如,安装新版本的通讯簿提供程序后,可能会出现这种情况。

MAPI 将此调用传递给负责条目标识符的通讯簿提供程序,通过将条目标识符中的 MAPIUID 结构与提供程序注册的 MAPIUID 结构相匹配来确定相应的提供程序。

如果两个条目标识符引用同一对象, CompareEntryIDslpulResult 参数的内容设置为 TRUE;如果它们引用不同的对象, 则 CompareEntryIDs 会将内容设置为 FALSE。 在任一情况下, CompareEntryIDs 都 返回S_OK。 如果 CompareEntryID 返回错误(如果没有通讯簿提供程序注册与条目标识符中的 MAPIUID 结构匹配的 MAPIUID 结构),则客户端和提供程序不应根据比较结果采取任何操作。 相反,他们应该对正在执行的操作采取最保守的方法。

另请参阅

IAddrBook : IMAPIProp