次の方法で共有


コンテキスト パラメーターの使用

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

Windows Media Format SDK で使用されるコールバックの一部は、 pvContext というパラメーターを受け取ります。 呼び出し元のオブジェクトは、非同期アクションを開始したメソッドで指定した値に沿って渡されます。 たとえば、 IWMReader::Open を呼び出すときに、 pvContext の値を渡すことができます。 IWMStatusCallback::OnStatus メソッドがリーダー オブジェクトによって呼び出され、ファイルが開かれたことをアプリケーションに通知すると、呼び出しで使用した値が OnStatus のpvContext パラメーターとして Open に渡されます。 このコンテキスト パラメーターは使用するために用意されており、任意の方法で使用できます。

pvContext パラメーターは、複数のオブジェクトが同じコールバックを共有する必要がある場合に最もよく使用されます。 たとえば、いくつかのオブジェクトは IWMStatusCallback::OnStatus メソッドを 使用します。 pvContext を使用すると、元の呼び出しで pvContext に別の値を渡すことで、異なるオブジェクトで OnStatus の 1 つの実装を共有できます。 OnStatus の実装では、pvContext の値に基づいてメッセージ処理ロジックを分岐できます。

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