共用方式為


DrmCreateContentMixed 函式 (drmk.h)

DrmCreateContentMixed 函式會建立DRM內容識別碼,以識別KS音訊數據流,其中包含來自數個數據流的混合內容。

語法

NTSTATUS DrmCreateContentMixed(
  [in]  PULONG paContentId,
  [in]  ULONG  cContentId,
  [out] PULONG pMixedContentId
);

參數

[in] paContentId

DRM 內容識別子陣列的指標。 每個數位元素的類型都是ULONG,且包含代表受保護 KS 音訊數據流的內容識別碼。 如果 cContentId 為零,paContentID 可以 NULL。 零的內容識別碼是一個特殊值,代表具有預設DRM內容許可權的音訊數據流(請參閱 DEFINE_DRMRIGHTS_DEFAULT)。

[in] cContentId

指定 paContentId 陣列中的DRM內容識別碼數目。 陣列可以保存零個或多個內容標識碼。

[out] pMixedContentId

複合內容識別碼的輸出指標。 此參數指向呼叫端配置的ULONG變數,函式會將複合 KS 音訊數據流的新內容標識碼寫入其中。 如果 cContentId 為零,函式會將預設DRM內容許可權指派給新的內容識別碼。

傳回值

如果呼叫成功,DrmCreateContentMixed 會傳回STATUS_SUCCESS。 否則,它會傳回適當的錯誤碼。

言論

KS 音訊篩選器會呼叫 DrmCreateContentMixed 函式,以取得復合數據流的DRM內容識別碼。 篩選條件會混合在 paContentId 陣列中列出其內容識別符的 KS 音訊串流,以產生此數據流。 假設這個混合器輸入中數據流的內容標識符清單,函式會計算複合數據流的內容許可權,並將新的內容標識碼指派給該數據流。

如果呼叫端未指定任何內容標識符(也就是說,如果 cContentId 為零),函式會將默認內容許可權指派給它建立以識別複合數據流的內容識別碼。

DrmCreateContentMixed取得內容標識符之後,呼叫者可以藉由呼叫 DrmGetContentRights來取得指派給內容識別符的內容許可權。

在變更複合音訊串流之任何元件的內容許可權之後,混合數據流的 KS 音訊篩選必須呼叫 DrmCreateContentMixed,才能取得複合音訊數據流的新內容標識符。 DrmCreateContentMixed 會決定指派給 paContentId 陣列中所指定個別內容標識符的內容許可權,並將這些許可權指派給新的內容識別符。

KS 音訊篩選器使用使用 DrmCreateContentMixed建立的內容識別碼完成之後,篩選條件必須呼叫 DrmDestroyContent,才能刪除內容識別符。 不過,刪除舊的內容識別碼之前,KS 音訊篩選器必須先成功將新的內容標識碼轉送至先前轉送舊內容標識碼的所有數據流。 KS 音訊篩選器會呼叫 DrmForwardContentToXxx 函式來轉送內容標識符。

DrmCreateContentMixed 會執行與 PcCreateContentMixedIDrmPort::CreateContentMixed相同的函式。 如需詳細資訊,請參閱 DRM函式和介面

要求

要求 價值
目標平臺 普遍
標頭 drmk.h (包括 Drmk.h)
連結庫 Drmk.lib
IRQL PASSIVE_LEVEL

另請參閱

DEFINE_DRMRIGHTS_DEFAULT

DrmDestroyContent

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

DrmGetContentRights

IDrmPort::CreateContentMixed

PcCreateContentMixed