共用方式為


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 方法也會使用 DRMFORWARDContentToDeviceObject,這是 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