次の方法で共有


CMsgThread.PutThreadMsg メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]

ワーカー スレッドによる実行要求をキューに入れます。

構文

void PutThreadMsg(
   UINT     uMsg,
   DWORD    dwMsgFlags,
   LPVOID   lpMsgParam,
   CAMEvent *pEvent = NULL
);

パラメーター

uMsg

要求コード。

dwMsgFlags

省略可能な flags パラメーター。

lpMsgParam

追加のパラメーターまたは戻り値を含むデータ ブロックへのオプションのポインター。 自動ではなく、静的またはヒープ割り当て済みである必要があります。

pEvent

完了時に通知されるイベント オブジェクトへのオプションのポインター。

戻り値

このメソッドは値を返しません。

解説

このメンバー関数は、ワーカー スレッドによる実行要求をキューに入れます。 このメンバー関数のパラメーターは 、( CMsg オブジェクト内で) キューに登録され、ワーカー スレッドの CMsgThread::ThreadMessageProc メンバー関数に渡されます。 このメンバー関数は、要求のキューの直後に を返し、スレッドが要求を満たすのを待つことはありません。 派生クラスの CMsgThread::ThreadMessageProc メンバー関数は、4 つのパラメーターを定義します。

このメンバー関数はマルチスレッド セーフ リストを使用するため、異なるスレッドからこのメンバー関数を複数呼び出しても安全に行うことができます。

要件

要件
ヘッダー
Msgthrd.h (Streams.h を含む)
ライブラリ
Strmbase.lib (製品版ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

CMsgThread クラス