共用方式為


ENTRYID

適用於:Outlook 2013 |Outlook 2016

包含 MAPI 物件的項目識別碼。

屬性
標頭檔:
Mapidefs.h
相關宏:
CbNewENTRYIDSizedENTRYID
typedef struct
{
  BYTE abFlags[4];
  BYTE ab[MAPI_DIM];
} ENTRYID, FAR *LPENTRYID;

成員

abFlags

提供描述物件之資訊的旗標位掩碼。 提供者只能設定旗標 abFlags[0] 的第一個字節;其他三個會保留。 這些旗標不能設定為永久項目標識元;它們只會針對短期專案標識碼設定。 對用戶端而言,此結構是唯讀的。 您可以在 abFlags[0]中設定下列旗標:

MAPI_NOTRECIP

項目標識碼不能當做郵件上的收件者使用。

MAPI_NOTRESERVED

其他使用者無法存取專案標識碼。

MAPI_NOW

項目標識碼無法在其他時間使用。

MAPI_SHORTTERM

項目標識碼是短期的。 除非啟用專案標識碼的其他用途,否則必須設定此位元組中的所有其他值。

MAPI_THISSESSION

項目標識碼不能用於其他會話。

Ab

指出服務提供者所使用的二進位數據陣列。 用戶端應用程式無法使用此陣列。

註解

郵件存放區和通訊錄提供者會使用 ENTRYID 結構來建構其物件的唯一標識符。 專案識別碼可用來識別下列類型的物件:

  • 訊息存放區

  • 資料夾

  • 訊息

  • 通訊簿容器

  • 通訊群組清單

  • 傳訊使用者

  • 狀態物件

  • 配置檔區段

每個提供者都會針對對該提供者有意義的 ENTRYID 結構使用格式。

因為可以用兩個不同的二進位值來代表一個物件,所以不能直接比較項目識別碼。 若要判斷兩個專案標識符是否代表相同的物件,請呼叫 IMAPISession::CompareEntryIDs 方法。

當用戶端呼叫物件的 IMAPIProp::GetProps 方法來擷取其專案標識碼時,對象會傳回最永久的專案標識碼形式。 用戶端可以檢查 abFlags 成員的第一個字節中未設定任何旗標,以確認專案標識碼是長期的。

當用戶端透過數據表中的數據行存取專案標識碼時,此專案標識碼很可能是短期的,而不是長期的。 短期項目標識碼只能在目前的MAPI會話中用來開啟其對應的物件。 用戶端可以檢查 abFlags 成員的第一個字節中是否已設定所有旗標,以確認專案標識碼是短期的。

某些項目標識碼是短期的,但具有長期使用。 這類專案標識碼會在其 abFlags 成員的第一個字節中設定一或多個適當的旗標。

ENTRYID 結構類似於 FLATENTRY 結構。 不過,有一些差異:

客戶端應該一律傳入自然對齊的專案標識碼。 雖然提供者應該處理任意對齊的專案標識符,但客戶端不應該預期此行為。 若無法將良好的對齊專案標識碼傳遞至方法,可能會導致 RISC 處理器發生對齊錯誤。

自然對齊因數通常是8個字節,是CPU支援的最大數據類型,通常是系統記憶體配置器所使用的相同對齊因數。 自然對齊的記憶體位址可讓CPU存取它在該位址支援的任何數據類型,而不會產生對齊錯誤。 對於 RISC CPU,大小為 N 個字節的數據類型通常必須對齊 N 個字節的偶數,且位址為 N 的倍數。

如需詳細資訊,請參閱 專案標識符

另請參閱

FLATENTRY

IMAPISupport::CompareEntryIDs

PidTagRecordKey Canonical 屬性

MAPI 結構