共用方式為


SPropertyRestriction

適用於:Outlook 2013 |Outlook 2016

描述用來比對常數與屬性值的屬性限制。

屬性
標頭檔:
Mapidefs.h
typedef struct _SPropertyRestriction
{
  ULONG relop;
  ULONG ulPropTag;
  LPSPropValue lpProp;
} SPropertyRestriction;

成員

relop

將在搜尋中使用的關係運算符。 可能的值如下:

  • RELOP_GE:比較是以大於或等於第一個值為基礎。

  • RELOP_GT:比較是根據較高的第一個值進行。

  • RELOP_LE:比較是根據小於或等於第一個值。

  • RELOP_LT:比較是根據較小的第一個值進行。

  • RELOP_NE:比較是根據不相等的值進行。

  • RELOP_RE:比較是根據 LIKE (正則表示式) 值進行。

  • RELOP_EQ:比較是根據相等的值進行。

ulPropTag

識別要比較之屬性的屬性標記。

lpProp

SPropValue 結構的指標,其中包含將在比較中使用的常數值。

註解

SPropertyRestriction 結構中有兩個屬性標記。 一個位於ulPropTag成員中,另一個位於 lpProp 所指向之 SPropValue 結構的 ulPropTag 成員中 MAPI 需要屬性識別符欄位和屬性類型欄位。 SPropertyRestriction 中的 ulPropTag 是要比對的屬性,而 SPropertyRestriction 與 ulPropTag 類型 SPropValuelpProp 指標會指出如何解譯 lpProp 等位的成員值。 這兩個屬性類型必須相符,否則當限制用於 呼叫 IMAPITable::RestrictIMAPITable::FindRow 時,會傳回錯誤值MAPI_E_TOO_COMPLEX。

比較順序是 (屬性值) (關係運算子) (常數值)

當屬性限制傳遞至 IMAPITable::RestrictIMAPITable::FindRow 且目標屬性不存在時,則不會定義限制的結果。 藉由建立 屬性限制與 EXIST 限制聯結的 AND 限制,即可保證呼叫端的正確結果。 使用 SExistRestriction 結構來定義 EXIST 限制和 SAndRestriction 結構來定義 AND 限制。

在 Exchange Server 2019 的特定案例中,在伺服器上執行的比較會呈現一種行為,讓不存在的屬性被視為存在,而且其值小於最小可能的數據類型值。 換句話說,如果 MAPI 物件缺少例如PR_SENSITIVITY屬性,且正在使用 SPropertyRestriction{RELOP_LT, PR_SENSITIVITY, {PR_SENSITIVITY, 0, {.l = INT_MIN}} 結構進行測試,則比較會產生 「true」。 (這與上述的「未定義」規格一致。)

如果實作數據表的服務提供者支援多重值屬性標記,則可以在屬性限制中使用。 如果支援,可以使用單一值屬性標記的任何位置使用多重值屬性標記。

多重值屬性標記可用於下列方法:

重要事項

當兩個屬性標記不相符時,值得注意的案例是限制在多重值屬性上。 在此情況下,下列項目必須成立。 如果 SPropertyRestrictionulPropTag 的屬性類型包含多重值屬性類型位旗標MV_FLAG (0x1000) ,則 SPropValue之 ulPropTag 的屬性類型應該符合前者減去MV_FLAG位旗標,也就是其反向。 > 例如,若要限制使用多重值自定義字串屬性,例如具有屬性0x8012101f屬性卷標的類別,也就是PROP_TAG (MV_FLAG|PT_UNICODE,0x8012) ) ,對應 的 SPropertyRestriction 會如下所示。 SPropertyRestriction.ulPropTag = 0x8012101f; // attempt to restrict a MultiValue propertySPropertyRestriction.lpProp->ulPropTag = 0x8012001f; // the lpszW member of the Value property is valid>SPropertyRestriction.lpProp.Value->lpszW = L"My Category";>請注意,如果 SPropValue之 ulPropTag 的屬性類型包含MV_FLAG位旗標,則可能會傳回MAPI_E_TOO_COMPLEX。

如需 SPropertyRestriction 結構的詳細資訊,請參閱 關於限制

另請參閱