CMsgThread.ThreadMessageProc 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

处理请求。 这是一个纯虚拟成员函数。

语法

virtual LRESULT ThreadMessageProc(
   UINT     uMsg,
   DWORD    dwFlags,
   LPVOID   lpParam,
   CAMEvent *pEvent
);

参数

uMsg

请求代码。

dwFlags

要请求的可选标志参数。

lpParam

指向额外数据或返回数据块的可选指针。

pEvent

指向事件对象的可选指针。

返回值

任何非零返回都会导致线程退出。 除非最近处理了退出请求,否则返回零。

备注

必须在派生类中重写此纯虚拟函数。 对于通过调用 CMsgThread::P utThreadMsg 成员函数排队的每个请求,它将调用一次。

成员函数定义四个参数。 通常,使用 uMsg 参数来指示请求,其他三个参数将是可选的附加参数。 如果应用程序需要,调用应用程序可以提供指向 pEvent 参数中的 CAMEvent 对象的指针。 使用如下表达式处理事件后,必须设置此事件:

pEvent->SetEvent

必须留出一个请求代码,以告知工作线程退出。 收到此请求后,从此成员函数返回 1。 如果不希望退出工作线程,则返回 0。

要求

要求
标头
Msgthrd.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CMsgThread 类