OnStatus コールバックでリーダー メッセージを実装するには

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

非同期リーダーを使用して ASF ファイルからコンテンツを配信するには、少なくとも 2 つのコールバック メソッド IWMStatusCallback::OnStatusIWMReaderCallback::OnSample を実装する必要があります。 このセクションでは、 IWMStatusCallback::OnStatus を実装して、リーダーによって送信されたステータス メッセージを受信して応答する方法について説明します。 OnStatus は、Windows Media Format SDK の他のオブジェクトで使用されます。 OnStatus の一般的な情報については、「OnStatus コールバックの使用」を参照してください。

非同期リーダーを使用する場合は、 IWMStatusCallback::OnStatus で次のメッセージをトラップする必要があります。

ステータス メッセージ 説明
WMT_OPENED ファイルを開く操作が完了したときに送信されます。
WMT_CLOSED ファイルの終了操作が完了したときに送信されます。

 

上記のステータス メッセージを使用して、読み取りアプリケーションの実行を制御する必要があります。 たとえば、リーダーを起動したり、リーダーがファイルを準備する必要がある他のメソッドを呼び出したりするには、 WMT_OPENED メッセージを受信するまで待つ必要があります。 多くの場合、非同期リーダーを使用してビルドされたアプリケーションでは、イベントを使用して非同期呼び出しの完了を通知し、処理を続行します。 操作の完了を通知するためのイベントの使用の詳細については、「 非同期呼び出しでのイベントの使用」を参照してください。

他の多くのメッセージは、読み取り操作の状態にアプリケーションが応答できるように、リーダー オブジェクトによって OnStatus に送信されます。 使用可能なステータス メッセージ値は、 WMT_STATUS 列挙型で定義されます。

IWMStatusCallback::OnStatus

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

OnStatus コールバックの使用