DRM_LICENSE_STATE_DATA結構 (Drmexternals.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 如果設定,可能會有更多適用于內容的授權。 DRM_LICENSE_STATE_DATA_OPL_PRESENT 如果設定,授權會包含輸出保護層級 (OPL) ,必須針對應用程式的輸出目的地進行擷取和檢查。 DRM_LICENSE_STATE_DATA_SAP_PRESENT 如果設定,則必須使用安全音訊路徑傳遞內容, (SAP) 。
備註
當您指定其中一個 DRM 授權狀態屬性時,此) 結構會從呼叫 IWMDRMReader::GetDRMProperty傳回 (封裝在WM_LICENSE_STATE_DATA結構中。 這些屬性是:
- DRM_LicenseState_Playback
- DRM_LicenseState_CopyToCD
- DRM_LicenseState_CopyToSDMIDevice
- DRM_LicenseState_CopyToNonSDMIDevice
- DRM_LicenseState_CollaborativePlay
- DRM_LicenseState_Copy
- DRM_LicenseState_PlaylistBurn
如果dwCategory是WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL,則 datetime陣列通常會包含兩個日期:「from」 date 和 「until」 日期。 您也可以指定兩個日期組來建立更複雜的授權。
dwCount陣列的專案會對應至datetime陣列中指定的日期或日期範圍。 如果 dwCategory是WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL 且 datetime 包含一對日期,則 dwCount 會包含一個專案。 如果 datetime 包含兩個日期組 (四個元素) , 則 dwCount 應該包含兩個元素,每個日期組各包含一個元素。
在某些情況下,使用者可能已發行一個以上的檔案授權。 例如,他們可能已取得允許五次播放的授權,直到當月結束時,之後取得第二個授權以取得無限制許可權。 在這種情況下,DRM_LICENSE_STATE_DATA_VAGUE旗標是在 dwVague 中設定 () dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0
,而 DRM 元件會使用演算法來判斷最可能套用的許可權集。 當一個授權到期時,DRM 元件會檢查其餘的授權 () ,依此類錯,直到所有授權都過期為止。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
版本 |
Windows 媒體格式 7 SDK 或更新版本的 SDK |
標頭 |
|