共用方式為


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

另請參閱

IDrmPort