共用方式為


DRM_LICENSE_STATE_DATA 結構 (Wmdrmsdk.h)

DRM_LICENSE_STATE_DATA結構包含 DRM 許可權授許可權制的相關資訊。

語法

typedef struct DRM_LICENSE_STATE_DATA {
  DWORD                      dwStreamId;
  DRM_LICENSE_STATE_CATEGORY dwCategory;
  DWORD                      dwNumCounts;
  DWORD                      dwCount[4];
  DWORD                      dwNumDates;
  FILETIME                   datetime[4];
  DWORD                      dwVague;
} ;

成員

dwStreamId

套用授權的資料流程編號。 必須是 0,表示授權適用于檔案中的所有資料流程。

dwCategory

要顯示的字串類別。 如需可能的值及其意義 ,請參閱DRM_LICENSE_STATE_CATEGORY

dwNumCounts

dwCount中提供的專案數。 此值通常是 0 或 1。

dwCount[4]

0 或 1 或多個 DWORD 值的陣列,表示可執行 dwCategory 中所指定動作的次數。 請參閱<備註>。

dwNumDates

datetime中提供的專案數。 例如,一般不會使用兩個以上的日期,以及從一個日期到另一個日期有效的授權。

datetime[4]

一或多個 FILETIME 結構的陣列,代表授權中的一或多個日期。 特定日期的意義取決於 dwCategory的值。

dwVague

下列零個或多個旗標結合位 OR

旗標 描述
DRM_LICENSE_STATE_DATA_VAGUE 如果設定,可能會有更多適用于內容的授權。 要確定套用至指定金鑰識別碼之個別授權的唯一方法是列舉授權。 若要這樣做,請呼叫 IWMDRMLicenseManagement::CreateLicenseEnumeration,並將金鑰識別碼傳遞為 bstrKID 參數。 然後使用擷取的 IWMDRMLicense 介面來檢查授權。
DRM_LICENSE_STATE_DATA_OPL_PRESENT 如果設定,授權會包含輸出保護層級 (OPL) ,必須針對應用程式的輸出目的地進行擷取和檢查。
DRM_LICENSE_STATE_DATA_SAP_PRESENT 如果設定,則必須使用安全音訊路徑傳遞內容, (SAP) 。

備註

呼叫 IWMDRMLicenseQuery::QueryLicenseState來擷取這個結構。

如果 dwCategory是WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL則 datetime 陣列通常會包含兩個日期:「from」 date 和 「until」 日期。 您也可以指定兩個日期組來建立更複雜的授權。

dwCount陣列的專案會對應至datetime陣列中指定的日期或日期範圍。 如果 dwCategory是WM_DRM_LICENSE_STATE_COUNT_FROM_UNTILdatetime 包含一對日期,則 dwCount 會包含一個專案。 如果 datetime 包含兩個日期組 (四個元素) , 則 dwCount 應該包含兩個元素,每個日期組各包含一個元素。

在某些情況下,使用者可能已發行一個以上的檔案授權。 例如,他們可能已取得允許五次播放的授權,直到當月結束時,之後取得第二個授權以取得無限制許可權。 在這種情況下,DRM_LICENSE_STATE_DATA_VAGUE旗標是在 dwVague 中設定 () dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0 ,而 DRM 元件會使用演算法來判斷最可能套用的許可權集。 當一個授權到期時,DRM 元件會檢查其餘的授權,依此類移,直到所有授權都過期為止。

規格需求

需求
標頭
Wmdrmsdk.h

另請參閱

結構