次の方法で共有


DRMFORWARD 構造体 (drmk.h)

DRMFORWARD 構造体には、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 関数と IDrmPort2::ForwardContentToDeviceObject メソッドによっても使用されます。これは、DrmForwardContentToDeviceObject 関数の代替エントリ ポイントです。 詳細については、「DRM 関数とインターフェイスの」を参照してください。

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

  • DRMFORWARD を します。DeviceObject は、デバイス スタックの一番上に配置する必要があります。
  • DRMFORWARD を します。USB スタックではIO_STACK_LOCATIONが使用されないため、FileObject は NULL できます。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