DRMFORWARD 構造体 (drmk.h)

DRMFORWARD 構造体には、DRM コンテンツ ID を保護されたコンテンツを処理するデバイスに DRM コンテンツ ID を転送するために DRMK システム ドライバー が必要とする情報が含まれています。

構文

typedef struct tagDRMFORWARD {
  DWORD          Flags;
  PDEVICE_OBJECT DeviceObject;
  PFILE_OBJECT   FileObject;
  PVOID          Context;
} DRMFORWARD, *PDRMFORWARD;

メンバー

Flags

フラグ ビットは現在定義されていません。 このメンバーを 0 に設定します。

DeviceObject

DEVICE_OBJECT 型のシステム構造であるデバイス オブジェクトへのポインター。

FileObject

FILE_OBJECT 型のシステム構造であるファイル オブジェクトへのポインター。

Context

コンテキスト データへのポインター。 詳細については、「解説」を参照してください。

注釈

この構造体は、 DrmForwardContentToDeviceObject 関数の呼び出しパラメーターの 1 つです。 構造体には、関数が WDM ドライバーに KSPROPERTY_DRMAUDIOSTREAM_CONTENTIDset-property 要求を送信するために必要な情報が含まれています。

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 メンバーと同じファイル オブジェクトを指します。

DRMFORWARD 構造体は、PcForwardContentToDeviceObject 関数と、DrmForwardContentToDeviceObject 関数の代替エントリ ポイントである IDrmPort2::ForwardContentToDeviceObject メソッドでも使用されます。 詳細については、「 DRM 関数とインターフェイス」を参照してください。

オーディオ ドライバーが DRM コンテンツをシステム提供の USB ドライバーに転送する場合、次の条件が適用されます。

  • DRMFORWARD。DeviceObject は、デバイス スタックの上部に配置する必要があります。
  • DRMFORWARD。USB スタックでIO_STACK_LOCATIONが使用されないため、FileObject は NULL にすることができます 。FileObject。
  • DRMFORWARD。コンテキスト は、オーディオ ドライバーによって使用されるパイプに対応するUSBD_PIPE_HANDLE値に設定する必要があります。

DRM の一般的な情報については、「 Digital Rights Management」を参照してください。

要件

要件
Header drmk.h (Drmk.h を含む)

こちらもご覧ください

DEVICE_OBJECT

DrmForwardContentToDeviceObject

FILE_OBJECT

IDrmPort2::ForwardContentToDeviceObject

KSPROPERTY_DRMAUDIOSTREAM_CONTENTID

KSP_DRMAUDIOSTREAM_CONTENTID

PcForwardContentToDeviceObject