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函式和介面

規格需求

需求
目標平台 Universal
標頭 drmk.h (包括Drmk.h)
程式庫 Drmk.lib
IRQL PASSIVE_LEVEL

另請參閱

DEFINE_DRMRIGHTS_DEFAULT

DrmDestroyContent

DrmForwardContentToDeviceObject

DrmForwardContentToInterface

DrmGetContentRights

IDrmPort::CreateContentMixed

PcCreateContentMixed