CMsgThread.ThreadMessageProc メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
要求を処理します。 これは純粋な仮想メンバー関数です。
構文
virtual LRESULT ThreadMessageProc(
UINT uMsg,
DWORD dwFlags,
LPVOID lpParam,
CAMEvent *pEvent
);
パラメーター
-
uMsg
-
要求コード。
-
dwFlags
-
要求する省略可能なフラグ パラメーター。
-
lpParam
-
追加データまたは戻りデータ ブロックへの省略可能なポインター。
-
pEvent
-
イベント オブジェクトへの省略可能なポインター。
戻り値
0 以外の戻り値を指定すると、スレッドは終了します。 終了要求が最近処理されていない限り、0 を返します。
解説
この純粋仮想関数は、派生クラスでオーバーライドする必要があります。 これは、CMsgThread::P utThreadMsg メンバー関数の呼び出しによってキューに入れる要求ごとに 1 回呼び出されます。
メンバー関数は、4 つのパラメーターを定義します。 通常、 uMsg パラメーターを使用して要求を示します。他の 3 つのパラメーターはオプションの追加パラメーターになります。 呼び出し元のアプリケーションは、アプリケーションで必要な場合は、pEvent パラメーターの CAMEvent オブジェクトへのポインターを指定できます。 次のような式を使用して、イベントの処理後にこのイベントを設定する必要があります。
pEvent->SetEvent
ワーカー スレッドに終了を指示するには、1 つの要求コードを確保する必要があります。 この要求を受信したら、このメンバー関数から 1 を返します。 ワーカー スレッドを終了しない場合は、0 を返します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|