共用方式為


CQueue 類別

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

CQueue類別範本會實作簡單的靜態大小佇列。

公用方法 Description
CQueue 建構函式方法。
~CQueue 解構函式方法。
GetQueueObject 從佇列擷取下一個專案。
PutQueueObject 將專案放在佇列中。

備註

類別建構函式會指定佇列的大小。 使用 CQueue::P utQueueObject 將專案放在佇列上,並使用 CQueue::GetQueueObject 方法來取消佇列專案。 如果佇列已滿, PutQueueObject 方法會封鎖直到專案取消佇列為止。 如果佇列是空的, GetQueueObject 會封鎖直到專案排入佇列為止。 範本參數會指定專案的類型。 例如:

CQueue<int> number_queue;
number_queue.PutQueueObject(7);

類別會使用兩個旗號來控制佇列作業、「get」 旗號和「put」 旗號。 GetQueueObject方法會使用WaitForSingleObject函式) (等候 「get」 旗號 (,並使用ReleaseSemaphore函式) 釋放 「put」 旗號 (。 PutQueueObject方法會等候 「put」 旗號,並釋放 「get」 旗號。 類別會使用重要區段來序列化多個執行緒之間的佇列作業。

規格需求

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