セキュリティで保護されたファイルを含むプレイリストの書き込み
Windows Media Rights Manager 10 SDK のオブジェクトを使用して作成されたライセンスでは、プレイリストの一部としてコンパクト ディスクにファイルをコピーする権限を指定できます。 プレイリストの書き込みと呼ばれるこの機能では、データのコピーを開始する前に、プレイリスト内のすべてのファイルのライセンスを確認する必要があります。 Windows Media Format SDK には、ファイル検証を実行するための IWMReaderPlaylistBurn インターフェイスが用意されています。
プレイリストの書き込みを実装するには、次の手順を実行します。
- リーダー オブジェクトまたは同期リーダー オブジェクトのインスタンスを作成します。 詳細については、「 ASF ファイルの読み取り」を参照してください。
- リーダー インターフェイス (IWMReader または IWMSyncReader) の QueryInterface メソッドを呼び出して、IWMReaderPlaylistBurn インターフェイスへのポインターを取得します。
- プレイリストのファイル名をワイド文字列の配列にコピーします。 配列内のファイル名は、プレイリストに表示されるのと同じ順序にする必要があります。
- IWMReaderPlaylistBurn::InitPlaylistBurn メソッドを呼び出し、手順 3 で作成した配列へのポインターを渡して、ファイルのライセンス検証を初期化します。
- ライセンス検証が完了すると、リーダー オブジェクトは IWMStatusCallback::OnStatus コールバック メソッドの実装にWMT_INIT_PLAYLIST_BURNメッセージを送信します。 コールバックがこのメッセージを受信したら、IWMReaderPlaylistBurn::GetInitResults メソッドを呼び出して、ライセンス チェックの結果を取得します。 このメソッドは、InitPlaylistBurn に渡される配列内のファイル名に対応する HRESULT 変数の配列を受け取ります。 結果配列内のすべての値がS_OKと等しい場合は、続行できます。 いずれかの結果がエラー コードである場合は、プレイリストをコピーしないでください。
- リーダーの同じインスタンスを使用して、各ファイルを開いて読み取ります。 InitPlaylistBurn に渡されるファイル名配列にファイル名が表示された順序でファイルを開く必要があります。
- プレイリスト内のすべてのファイルをコピーしたら、 IWMReaderPlaylistBurn::EndPlaylistBurn を呼び出してプレイリストの書き込みプロセスを完了し、リーダーが使用するリソースを解放します。
Note
DRM は、この SDK の x64 ベースのバージョンではサポートされていません。
関連トピック