Microsoft DirectX 8.0

DVD コピー保護プロパティ セット

DVD コピー保護プロパティ セットは、ハードウェア デクリプタまたはソフトウェア デクリプタから得られるコピー保護情報の認証を提供する。このプロパティ セットは、DVD ビデオからの違法コピーを防止するために使用する。

Microsoft は、暗号化方式に必要な認証処理を助けることにより、DVD-ROM ドライブが DVD デクリプタを使用してキーの認証および転送ができるようにするソフトウェアを提供する。現在のところ DVD デクリプタを製品化する予定はないが、代わりに、ハードウェア デクリプタとソフトウェア デクリプタのどちらかの認証を有効にするエージェントとして機能するシステム コードを提供している。

DVD ナビゲータはキー交換処理を開始および制御する。DVD ミニドライバは以下のプロパティを実装するだけでよい。残りはその他のコンポーネントが処理する。

コピー保護プロパティは、個々の DVD 入力ストリームに送られる。このことは、DVD ストリームをすべて同じハードウェアで制御する場合でも変わらない。

次の情報は、IKsPropertySet メソッドの呼び出しでこのプロパティ セットに使用するために必要な定数およびデータ型の情報を示している。GUID (guidPropSet)、プロパティ ID (dwPropID)、およびプロパティのデータ型 (pPropData) パラメータの値を提供する。

プロパティ セット GUID: AM_KSPROPSETID_CopyProt
プロパティ ID指定されたプロパティによって使用されるデータ型
AM_PROPERTY_COPY_MACROVISION AM_COPY_MACROVISION
AM_PROPERTY_DVDCOPY_CHLG_KEY AM_DVDCOPY_CHLGKEY
AM_PROPERTY_DVDCOPY_DEC_KEY2 AM_DVDCOPY_BUSKEY
AM_PROPERTY_DVDCOPY_DISC_KEY AM_DVDCOPY_DISCKEY
AM_PROPERTY_DVDCOPY_DVD_KEY1 AM_DVDCOPY_BUSKEY
AM_PROPERTY_DVDCOPY_REGION DVD_REGION 構造体。
AM_PROPERTY_DVDCOPY_SET_COPY_STATE AM_DVDCOPY_SET_COPY_STATE
AM_PROPERTY_DVDCOPY_TITLE_KEY AM_DVDCOPY_TITLEKEY

次の一覧は、DVD コピー保護プロパティの ID とその説明である。

AM_PROPERTY_COPY_MACROVISION
これは設定専用プロパティである。このプロパティは、受信ピンの出力側にある NTSC エンコーダのマクロビジョン レベルを設定する。
AM_PROPERTY_DVDCOPY_CHLG_KEY
このプロパティでは設定と取得の両方の操作がサポートされている。取得操作では、デコーダにそのバス チャレンジ キーの提供を要求する。設定操作では、DVD ドライブからのバス チャレンジ キーをデコーダに提供する。このプロパティに渡されるデータは、AM_DVDCOPY_CHLGKEY 型の構造体である。
AM_PROPERTY_DVDCOPY_DEC_KEY2
これは取得専用プロパティである。このプロパティは、デコーダのバス キー 2 を DVD ドライブに転送するように要求する。渡されるデータは AM_DVDCOPY_BUSKEY 型の構造体である。
AM_PROPERTY_DVDCOPY_DISC_KEY
これは取得専用プロパティである。このプロパティはディスク キーを提供する。ディスク キーは AM_DVDCOPY_DISCKEY 型の構造体である。
AM_PROPERTY_DVDCOPY_DVD_KEY1
これは設定専用プロパティである。このプロパティは DVD ドライブのバス キー 1 をデコーダに提供する。渡されるデータは AM_DVDCOPY_BUSKEY 型の構造体である。
AM_PROPERTY_DVDCOPY_SET_COPY_STATE
このプロパティでは設定と取得の両方の操作がサポートされている。まず、認証が必要かどうかを判断するために Get が呼び出される。設定プロパティは、コピー保護のネゴシエーションのどのフェーズにフィルタが入ろうとしているかを示す。渡されるデータは AM_DVDCOPY_SET_COPY_STATE 型の構造体である。
AM_PROPERTY_DVDCOPY_REGION
地域コードは、DVD コンソーシアムで決定されたそのデコーダを再生に使用できる地域の定義を要求する。この地域は次の構造体で定義される。
typedef struct _DVD_REGION {
   UCHAR CopySystem;   //ディスクがコピー保護されているかどうかを指定する。
   UCHAR RegionData;    //デコーダからの地域情報。
   UCHAR SystemRegion;  //DVD ドライブからの地域情報。
   UCHAR Reserved; //予約済み。
} DVD_REGION, *PDVD_REGION;
AM_PROPERTY_DVDCOPY_TITLE_KEY
これは設定専用プロパティである。このプロパティは、現在のコンテンツからのタイトル キーを提供する。このキーは AM_DVDCOPY_TITLEKEY 型の構造体である。

IKsPropertySet インターフェイスを使用して、これらのプロパティをサポートするために設定、取得、およびクエリを行う。

このプロパティ セットでは、次のデータ型が使用される。
データ型説明
AM_COPY_MACROVISION NTSC エンコーダのマクロビジョン レベル。
AM_COPY_MACROVISION_LEVEL マクロビジョン レベル。AM_COPY_MACROVISION 構造体はこのデータ型を使用する。
AM_DVDCOPY_BUSKEY DVD バス キー。
AM_DVDCOPY_CHLGKEY DVD チャレンジ キー。
AM_DVDCOPY_DISCKEY DVD ディスク キー。
AM_DVDCOPY_SET_COPY_STATE フィルタのコピー保護状態を判断する。
AM_DVDCOPYSTATE コピー保護状態。AM_DVDCOPY_SET_COPY_STATE 構造体はこのデータ型を使用する。
AM_DVDCOPY_TITLEKEY 現在のコンテンツからの DVD タイトル キー。

AM_COPY_MACROVISION

DVD コピー保護プロパティ セット

NTSC エンコーダのマクロビジョン レベル。

構文

typedef struct _AM_COPY_MACROVISION {
	ULONG MACROVISIONLevel;
} AM_COPY_MACROVISION, *PAM_COPY_MACROVISION;

メンバ

MACROVISIONLevel
NTSC エンコーダのマクロビジョン レベル。AM_COPY_MACROVISION_LEVEL 列挙型のメンバ。

注意

AM_PROPERTY_COPY_MACROVISION プロパティはこの構造体を使用する。

AM_COPY_MACROVISION_LEVEL

DVD コピー保護プロパティ セット

マクロビジョン レベル。

構文

typedef enum {
	AM_MACROVISION_DISABLED,
	AM_MACROVISION_LEVEL1,
	AM_MACROVISION_LEVEL2,
	AM_MACROVISION_LEVEL3
} AM_COPY_MACROVISION_LEVEL, *PAM_COPY_MACROVISION_LEVEL;

要素

AM_MACROVISION_DISABLED
無効。
AM_MACROVISION_LEVEL1
レベル 1。
AM_MACROVISION_LEVEL2
レベル 2。
AM_MACROVISION_LEVEL3
レベル 3。

注意

AM_COPY_MACROVISION 構造体はこのデータ型を使用する。

AM_DVDCOPY_BUSKEY

DVD コピー保護プロパティ セット

DVD バス キー。

構文

 typedef struct _AM_DVDCOPY_BUSKEY {
    BYTE BusKey[5];
    BYTE Reserved[1];
} AM_DVDCOPY_BUSKEY, *PAM_DVDCOPY_BUSKEY;

メンバ

BusKey
DVD ドライブのバス キー。
Reserved
予約済み。

注意

AM_PROPERTY_DVDCOPY_DVD_KEY1 プロパティと AM_PROPERTY_DVDCOPY_DEC_KEY2 プロパティはこの構造体を使用する。

バス キーは、暗号解除のための DVD CSS キー交換に使用する。実装者は、CSS ライセンスを取得して、CSS からのより詳しい説明を参照する必要がある。連絡先の情報については、「DVD ビデオの仕様」を参照すること。

AM_DVDCOPY_CHLGKEY

DVD コピー保護プロパティ セット

DVD チャレンジ キー。

構文

 typedef struct _AM_DVDCOPY_CHLGKEY {
    BYTE ChlgKey[10];
    BYTE Reserved[2];
} AM_DVDCOPY_CHLGKEY, *PAM_DVDCOPY_CHLGKEY;

メンバ

ChlgKey
チャレンジ キー。
Reserved
予約済み。

注意

AM_PROPERTY_DVDCOPY_CHLG_KEY プロパティはこの構造体を使用する。

チャレンジ キーは、暗号解除のための DVD CSS キー交換に使用する。実装者は、CSS ライセンスを取得して、CSS からのより詳しい説明を参照する必要がある。連絡先の情報については、「DVD ビデオの仕様」を参照すること。

AM_DVDCOPY_DISCKEY

DVD コピー保護プロパティ セット

DVD ディスク キー。

構文

 typedef struct _AM_DVDCOPY_DISCKEY {
    BYTE DiscKey[2048];
} AM_DVDCOPY_DISCKEY, *PAM_DVDCOPY_DISCKEY;

メンバ

DiscKey
DVD ディスク キー。

注意

AM_PROPERTY_DVDCOPY_DISC_KEY プロパティはこの構造体を使用する。

ディスク キーは、暗号解除のための DVD CSS キー交換に使用する。実装者は、CSS ライセンスを取得して、CSS からのより詳しい説明を参照する必要がある。連絡先の情報については、「DVD ビデオの仕様」を参照すること。

AM_DVDCOPY_SET_COPY_STATE

DVD コピー保護プロパティ セット

フィルタのコピー保護状態を判断する。

構文

typedef struct AM_DVDCOPY_SET_COPY_STATE {
	ULONG DVDCopyState;
} AM_DVDCOPY_SET_COPY_STATE, *PAM_DVDCOPY_SET_COPY_STATE;

メンバ

DVDCopyState
フィルタのコピー保護状態。AM_DVDCOPYSTATE 列挙型のメンバ。

注意

このプロパティでは、IKsPropertySet::Get メソッドと IKsPropertySet::Set メソッドの両方がサポートされる。認証が必要かどうかを判断するため、まず IKsPropertySet::Get メソッドが呼び出される。ハードウェア DVD デコーダのように、同じ認証者を使用する複数のピンを提供するフィルタがある場合、キー交換アルゴリズムを 1 度だけ適用すればよいことを示すため、デコーダが一部のピンについて AM_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED で応答する可能性がある。このプロパティが発行される最初のピンの正しいコピー保護状態を取得するためには、このフィルタが AM_DVDCOPYSTATE_AUTHENTICATION_REQUIRED で応答する必要がある。

IKsPropertySet::Set メソッドは、コピー保護のネゴシエーションのどのフェーズにフィルタが入ろうとしているかを示すために使用する。フェーズは、AM_DVDCOPYSTATE 列挙型の必要なフラグをセットして指定する。

AM_PROPERTY_DVDCOPY_SET_COPY_STATE プロパティはこの構造体を使用する。

AM_DVDCOPYSTATE

DVD コピー保護プロパティ セット

コピー保護状態。

構文

typedef enum {
	AM_DVDCOPYSTATE_INITIALIZE,
        AM_DVDCOPYSTATE_INITIALIZE_TITLE,	
	AM_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED, 
	AM_DVDCOPYSTATE_AUTHENTICATION_REQUIRED,	      
	AM_DVDCOPYSTATE_DONE
} AM_DVDCOPYSTATE;

要素

AM_DVDCOPYSTATE_INITIALIZE
完全なキー交換アルゴリズムを開始する。
AM_DVDCOPYSTATE_INITIALIZE_TITLE
タイトル キー交換アルゴリズムを開始する。
AM_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED
認証は必要ない。
AM_DVDCOPYSTATE_AUTHENTICATION_REQUIRED
認証が必要。
AM_DVDCOPYSTATE_DONE
キー交換のネゴシエーションが完了した。

注意

AM_DVDCOPY_SET_COPY_STATE 構造体はこのデータ型を使用する。

AM_DVDCOPY_TITLEKEY

DVD コピー保護プロパティ セット

現在のコンテンツからの DVD タイトル キー。

構文

 typedef struct AM_DVDCOPY_TITLEKEY {
    ULONG KeyFlags;
    UCHAR TitleKey[6];
    UCHAR Reserved[2];
} AM_DVDCOPY_TITLEKEY, *PAM_DVDCOPY_TITLEKEY;

メンバ

KeyFlags
キー フラグ。
TitleKey
タイトル キー。
Reserved
予約済み。

注意

AM_PROPERTY_DVDCOPY_TITLE_KEY プロパティはこの構造体を使用する。

タイトル キーは、暗号解除のための DVD CSS キー交換に使用する。実装者は、CSS ライセンスを取得して、CSS からのより詳しい説明を参照する必要がある。連絡先の情報については、「DVD ビデオの仕様」を参照すること。