リーダーを作成してファイルを開くには

[このページに関連付けられている機能である Windows Media Format 11 SDK は、従来の機能です。 ソース リーダーシンク ライターに置き換わりました。 ソース リーダーシンク ライターは、Windows 10とWindows 11用に最適化されています。 Microsoft では、可能であれば、新しいコードで Windows Media Format 11 SDK ではなくソース リーダーシンク ライターを使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

リーダーを操作する前に、リーダー オブジェクトを作成し、読み取り用のファイルを読み込む必要があります。 リーダーを初期化してファイルを開くには、次の手順を実行します。

  1. WMCreateReader 関数を呼び出してリーダー オブジェクトを作成します。 新しいリーダー オブジェクトに必要なレベルの権限管理を指定する必要があります。 使用可能なモードは、 WMT_RIGHTS 列挙型に一覧表示されます。
  2. IWMReader::Open を呼び出して読み取るファイルを指定します。 リーダーが使用するリーダー コールバック インターフェイスを指定する必要があります。 リーダー コールバックの詳細については、「 OnStatus コールバックでリーダー メッセージを実装するには」を参照してください。
  3. リーダーがファイルを開くのを待ちます。 Open を呼び出してファイルを読み込むと、ほぼ即座にが返され、別のスレッドで処理が続行されます。 OnStatus コールバックがWMT_OPENEDステータス メッセージを受信したときにイベントを通知することで、操作が完了するまで待つ必要があります。

リーダーは、ファイルを開くための IStream COM インターフェイスの使用もサポートしています。 IStream インターフェイスは、任意の方法で実装できます。 IStream で目的のファイルを開いた後は、上記の手順に従うことができます。ただし、手順 2 で IWMReader::Open ではなく IWMReaderAdvanced2::OpenStream を呼び出必要があります。

IWMReader インターフェイス

IWMReaderAdvanced2 インターフェイス

IWMStatusCallback インターフェイス

非同期リーダーを使用したファイルの読み取り

コールバック メソッドの使用