共用方式為


若要將二進位屬性認可至資料流的保存 TZDEFINITION 的相關

時區屬性 PidLidAppointmentTimeZoneDefinitionEndDisplayPidLidAppointmentTimeZoneDefinitionRecurPidLidAppointmentTimeZoneDefinitionStartDisplay 是二進位具名屬性,每個屬性都包含對應至 TZDEFINITION 結構之保存格式的數據流。

本主題描述將 TZDEFINITION 保存至數據流以認可至三個二進位屬性之一時,可以使用的一些端點格式。 在剖析器中使用相同的 endian 格式來解譯從其中一個屬性取得的數據流值。

BYTE  bMajorVersion;    // breaking change
BYTE  bMinorVersion;    // extensibility
WORD  cbHeader;         // size of following data until TZREG sub structure
WORD  wFlags;
if (TZDEFINITION_FLAG_VALID_GUID)
   GUID  guid;                // guid
if (TZDEFINITION_FLAG_VALID_KEYNAME)     
    WORD   cchKeyName;        // does not include null char
    WCHAR  rgchKeyName;       // not null terminated
    WORD  cRules;             // number of rules
// for each rule
   BYTE        bMajorVersion;         // breaking change
   BYTE        bMinorVersion;         // extensibility
   WORD        cbRule;                // size of following data
   WORD        wFlags;                // flags
   SYSTEMTIME  stStart;               // GMT when this rule starts
// Following are the fields of the TZREG sub structure
   long        lBias;                // offset from GMT
   long        lStandardBias;        // offset from bias during standard time
   long        lDaylightBias;        // offset from bias during daylight time
   SYSTEMTIME  stStandardDate;       // time to switch to standard time
   SYSTEMTIME  stDaylightDate;       // time to switch to daylight time

主要版本號碼是用來進行重大變更。 不熟悉主要版本號碼的客戶端應該將 屬性視為不存在。 撰寫 結構的客戶端應該指定常 數TZ_BIN_VERSION_MAJOR

次要版本號碼用於擴充性。 不熟悉次要版本號碼的客戶端應該讀取他們了解的數據,並略過可能附加至每個規則或整體數據流的數據。 撰寫 結構的客戶端應該指定常 數TZ_BIN_VERSION_MINOR

如果剖析器不了解標頭的主要版本,就不應該讀取結構的其餘部分,而且行為就如同數據遺失一樣。 如果剖析器不了解標頭的次要版本,它應該使用 cbHeader 來忽略它不瞭解的部分,並前進以讀取它了解的數據流部分。

wFlags 的值一律TZDEFINITION_FLAG_VALID_KEYNAME。 索引鍵名稱的大小上限 為 MAX_PATH

如果剖析器無法辨識規則的主要版本,客戶端應該忽略規則,並使用 cbRule 前進到下一個規則。 如果剖析器無法辨識規則的次要版本,客戶端應該只剖析它瞭解的規則部分。

TZDEFINITION 結構保存至數據流時,剖析器不應該嘗試寫入它不瞭解的任何資訊。

規則數目上限為 1024。

請注意, 此處保存 TZREG 結構的方式與單獨保存時不同,因此無法使用相同的程式代碼來剖析它。

另請參閱