drMFORWARD 結構 (drmk.h)
DRMFORWARD 結構包含 DRMK系統驅動程式 需要的資訊,以便將DRM內容識別碼轉送至處理受保護內容的裝置。
語法
typedef struct tagDRMFORWARD {
DWORD Flags;
PDEVICE_OBJECT DeviceObject;
PFILE_OBJECT FileObject;
PVOID Context;
} DRMFORWARD, *PDRMFORWARD;
成員
Flags
目前未定義旗標位。 將此成員設定為零。
DeviceObject
裝置物件的指標,這是 類型為 DEVICE_OBJECT的系統結構。
FileObject
檔案物件的指標,這是 類型為 FILE_OBJECT的系統結構。
Context
內容數據的指標。 如需詳細資訊,請參閱接下來的<備註>一節。
備註
此結構是 DrmForwardContentToDeviceObject 函式的呼叫參數之一。 結構包含函式必須將 set-property 要求傳送至 WDM 驅動程式 KSPROPERTY_DRMAUDIOSTREAM_CONTENTID的資訊。
WDM 驅動程式會管理 DeviceObject 成員所代表的裝置。 DrmForwardContentToDeviceObject 函式會將屬性要求傳送至此裝置物件。
建構包含屬性要求的 IRP 時, DrmForwardContentToDeviceObject 函式會將 FileObject 成員複製到 IRP 中驅動程式 I/O 堆棧位置的 FileObject 字段。 如果 WDM 驅動程式是 KS 驅動程式 (,它會實作 KS 篩選) 的所有或部分, FileObject 成員代表要接收包含受保護內容的數據流之篩選上的釘選。 對於非 KS 驅動程式,FILE_OBJECT結構中的內容欄位可以包含任何值,其意義在 驅動程式與 DrmForwardContentToDeviceObject 函式的呼叫端之間同意。
Context 成員包含 DrmForwardContentToDeviceObject 函式複製到KSPROPERTY_DRMAUDIOSTREAM_CONTENTID set-property 要求的屬性描述項的內容值, (KSP_DRMAUDIOSTREAM_CONTENTID結構的 Context 成員) 。 Context 成員可以包含其意義在驅動程式與DrmForwardContentToDeviceObject函式呼叫端之間同意的任何值。
依照慣例,如果下游模組是 KS 篩選條件, 則 Context 成員會指向指定 DrmForwardContentToDeviceObject 函式傳送屬性要求的 KS 針腳的檔案物件。 換句話說, Context 成員會指向與 FileObject 成員相同的檔案物件。
PcForwardContentToDeviceObject 函式和 IDrmPort2::ForwardContentToDeviceObject 方法也會使用 DRMFORWARD 結構,這是 DrmForwardContentToDeviceObject 函式的替代進入點。 如需詳細資訊,請參閱 DRM函式和介面。
當音訊驅動程式將DRM內容轉送至系統提供的USB驅動程式時,適用下列條件:
- DRMFORWARD。DeviceObject 必須放在裝置堆疊的頂端。
- DRMFORWARD。FileObject 可以是 NULL ,因為 USB 堆疊不會使用 IO_STACK_LOCATION。FileObject。
- DRMFORWARD。內容 必須設定為USBD_PIPE_HANDLE值,這個值會對應至音訊驅動程式所使用的管道。
如需DRM的一般資訊,請參閱 Digital Rights Management。
規格需求
需求 | 值 |
---|---|
標頭 | drmk.h (包含Drmk.h) |
另請參閱
DrmForwardContentToDeviceObject
IDrmPort2::ForwardContentToDeviceObject