共用方式為


CMsgThread.PutThreadMsg 方法

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

將背景工作執行緒執行的要求排入佇列。

語法

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

參數

uMsg

要求程式碼。

dwMsgFlags

選擇性旗標參數。

lpMsgParam

包含其他參數或傳回值的資料區塊選擇性指標。 必須以靜態方式或堆積配置,而不是自動設定。

pEvent

要在完成時發出訊號之事件物件的選擇性指標。

傳回值

這個方法不會傳回值。

備註

此成員函式會將要求排入背景工作執行緒執行佇列。 此成員函式的參數會排入佇列 (CMsg 物件) ,並傳遞至背景工作執行緒的 CMsgThread::ThreadMessageProc 成員函式。 此成員函式會在佇列要求之後立即傳回,且不會等待中的執行緒完成要求。 衍生類別的 CMsgThread::ThreadMessageProc 成員函式會定義四個參數。

此成員函式使用多執行緒安全清單,因此可以從不同的執行緒安全地呼叫這個成員函式。

規格需求

需求
標頭
Msgthrd.h (包含 Streams.h)
程式庫
Strmbase.lib (零售組建) ;
Strmbasd.lib (偵錯組建)

另請參閱

CMsgThread 類別