IDrmPort::CreateContentMixed 方法 (portcls.h)
CreateContentMixed 方法會計算複合數據流的DRM內容許可權,其中包含來自某些 KS 音訊數據流的混合內容。 請注意,此方法在作業中與 DrmCreateContentMixed函式相同,而且其參數定義和傳回值也相同。
語法
NTSTATUS CreateContentMixed(
PULONG paContentId,
ULONG cContentId,
PULONG pMixedContentId
);
參數
paContentId
DRM 內容識別子陣列的指標。 每個數位元素的類型都是ULONG,且包含代表受保護 KS 音訊數據流的內容識別碼。 如果 cContentId 為零,paContentID 可以是 NULL。 內容標識符為零是特殊值,代表預設DRM內容許可權的音訊串流, (請參閱DEFINE_DRMRIGHTS_DEFAULT) 。
cContentId
指定 paContentId 陣列中的 DRM 內容識別子數目。 數位可以保留零個或多個內容標識碼。
pMixedContentId
複合內容識別碼的輸出指標。 此參數指向呼叫端配置的ULONG變數,函式會將複合 KS 音訊數據流的新內容標識碼寫入其中。 如果 cContentId 為零,函式會將預設DRM內容許可權指派給新的內容識別碼。
傳回值
這個方法會傳回NTSTATUS - 如果呼叫成功,STATUS_SUCCESS。 否則,它會傳回適當的錯誤碼。
備註
KS 音訊篩選器會呼叫DrmCreateContentMixed函式,以取得複合數據流的DRM內容識別碼。 篩選條件會混合在 paContentId 陣列中列出其內容識別碼的 KS 音訊數據流,以產生此數據流。 根據混合器輸入中數據流的內容標識符清單,函式會計算複合數據流的內容許可權,並將新的內容標識碼指派給該數據流。
如果呼叫端未指定 (的任何內容標識符,也就是說,如果 cContentId 為零) ,則函式會將預設內容許可權指派給它建立來識別複合數據流的內容識別碼。
從DrmCreateContentMixed取得內容標識符之後,呼叫者可以藉由呼叫DrmGetContentRights來取得指派給內容標識符的內容許可權。
在變更複合音訊數據流之任何元件的內容許可權之後,混合數據流的 KS 音訊篩選器必須呼叫 DrmCreateContentMixed,以取得複合音訊串流的新內容標識符。 DrmCreateContentMixed 決定指派給paContentId數位中所指定個別內容標識碼的內容許可權,並將這些許可權指派給新的內容識別碼。
KS 音訊篩選器使用使用DrmCreateContentMixed 建立的內容識別碼完成之後,篩選條件必須呼叫DrmDestroyContent來刪除內容識別符。 不過,在刪除舊內容識別碼之前,KS 音訊篩選器必須先成功地將新的內容識別碼轉送至先前轉送舊內容識別碼的所有數據流。 KS 音訊篩選器會藉由呼叫DrmForwardContentToXxx函式來轉送內容標識碼。
DrmCreateContentMixed 會執行與 PcCreateContentMixed 和 IDrmPort::CreateContentMixed 相同的函式。
規格需求
需求 | 值 |
---|---|
標頭 | portcls.h |