共用方式為


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)

另請參閱

DEVICE_OBJECT

DrmForwardContentToDeviceObject

FILE_OBJECT

IDrmPort2::ForwardContentToDeviceObject

KSPROPERTY_DRMAUDIOSTREAM_CONTENTID

KSP_DRMAUDIOSTREAM_CONTENTID

PcForwardContentToDeviceObject