DrmForwardContentToInterface 函式 (drmk.h)
DrmForwardContentToInterface
函式會接受呼叫端想要轉送受保護內容的物件的 COM 介面指標。 函式會驗證物件,並將系統指派給受保護內容的內容標識碼和DRM許可權傳送物件。
語法
NTSTATUS DrmForwardContentToInterface(
[in] ULONG ContentId,
[in] PUNKNOWN pUnknown,
[in] ULONG NumMethods
);
參數
[in] ContentId
指定DRM內容識別碼。 此參數會識別受保護的 KS 音訊數據流。
[in] pUnknown
直接接收 KS 音訊篩選之 KS 音訊數據流數據的 COM 介面指標。
[in] NumMethods
指定 COM 介面中 pUnknown 指向的方法總數,包括其基底介面中的所有方法。
傳回值
如果呼叫成功,DrmForwardContentToInterface
會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。 下表顯示一些可能的傳回狀態代碼。
傳回碼 | 描述 |
---|---|
|
表示與 pUnknown 相關聯的 KS 音訊數據流不支援指派給 ContentId的 DRM 內容許可權。 |
言論
允許受保護的內容流經數據路徑之前,系統會確認數據路徑是否安全。 若要這樣做,系統會驗證數據路徑中的每個模組,從數據路徑的上游端開始,並移動下游。 當每個模組都經過驗證時,該模組會提供數據路徑中下一個模組的系統資訊,以便也可以進行驗證。 若要成功驗證,模組的二進位檔必須簽署為DRM相容。
如果數據路徑中的兩個相鄰模組透過下游模組的 COM 介面彼此通訊,上游模組會呼叫 DrmForwardContentToInterface
函式,以提供 COM 介面的指標給系統。 (如果兩個模組會透過 IoCallDriver 函式或下游模組的內容處理程式進行通訊,上游模組會改為呼叫 DrmForwardContentToDeviceObject 或 DrmAddContentHandlers。
DrmForwardContentToInterface
驗證模組,該模組會在 pUnknown所指向的 COM 介面中實作方法。 (如果方法分散在數個模組之間,則函式會驗證所有這些模組。呼叫 介面的模組和實作介面的模組都必須瞭解這個廠商定義的介面。
DrmForwardContentToInterface
不會假設此介面衍生自 IUnknown 。
如果 DrmForwardContentToInterface
成功驗證驅動程式或連結庫,它會執行下列動作:
-
查詢 pUnknown 介面是否有其 IDrmAudioStream 介面。 請注意,雖然
DrmForwardContentToInterface
會驗證 pUnknown 介面中的所有方法,但它不會呼叫 pUnknown 介面中除了基底 IUnknown 方法以外的任何方法。 -
呼叫 IDrmAudioStream::SetContentId,在音訊數據流上設定DRM內容標識碼和DRM內容許可權。 在傳回之前,
DrmForwardContentToInterface
釋放 IDrmAudioStream 介面。
DrmForwardContentToInterface
會執行與 PcForwardContentToInterface 和 IDrmPort::ForwardContentToInterface相同的函式。 如需詳細資訊,請參閱 DRM函式和介面。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | drmk.h (包括 Drmk.h) |
連結庫 | Drmk.lib |
IRQL | PASSIVE_LEVEL |
另請參閱
DrmForwardContentToDeviceObject