CDeferredCommand 類別
[與此頁面 相關的功能 DirectShow是舊版功能。 它已被 MediaPlayer、 IMFMediaEngine和 Media Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayer、 IMFMediaEngine 和 音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
延後命令會由 IQueueCommand 介面上方法的呼叫排入佇列,並由篩選圖形管理員和某些篩選準則公開。 成功呼叫其中一個方法會傳回代表佇列命令的 IDeferredCommand 介面。
CDeferredCommand
物件代表單一延後命令,並公開IDeferredCommand介面,以及其他允許時間檢查和實際執行的方法。
CDeferredCommand
物件包含其排入佇列之CCmdQueue物件的參考。
參考計數可控制 類別的存留 CDeferredCommand
期。 呼叫 CDeferredCommand::Invoke 成員函式時,呼叫端應用程式會取得參考計數的介面指標,而 CCmdQueue 物件也會在延遲的命令上保留參考計數。 呼叫 IDeferredCommand::Cancel 成員函式會將延後命令從命令佇列中取出,因而將參考計數減少一。 一旦離開佇列,命令就無法放回佇列。
受保護的資料成員 | Description |
---|---|
m_bStream | 資料流程 時間 或簡報時間的旗標。 要傳遞至叫用的方法。 |
m_Dispatch | 存取 ITypeInfo 介面。 |
m_dispidMethod | 要執行的介面上的 方法。 |
m_DispParams | 包含DISPPARAMS參數清單的CDispParams物件 |
m_hrResult | 儲存傳回的 HRESULT 值。 |
m_iid | 介面的全域唯一識別碼 (GUID) 。 |
m_pQueue | 公開IQueueCommand介面之CCmdQueue物件的指標。 |
m_pUnk | 將執行命令之介面的IUnknown指標。 |
m_pvarResult | 從叫用的方法產生資訊,如果有的話。 |
m_time | 將執行命令的時間。 |
m_wFlags | 指定調用內容的旗標。 |
成員函數 | Description |
CDeferredCommand | 建構 CDeferredCommand 物件。 |
GetFlags | 擷取與延後命令相關聯的內容旗標。 |
GetIID | 擷取將執行方法之介面的介面識別碼 (IID) 。 |
GetMethod | 擷取要執行之方法的分派識別碼。 |
GetParams | 將 DISPPARAMS 引數清單擷取至 方法。 |
GetResult | 如果有的話,擷取產生的引數清單。 |
GetTime | 擷取方法執行的時間。 |
調用 | 提供物件所公開之方法和屬性的存取權。 |
IsStreamTime | 指定命令是要在資料流程時間或簡報時間執行。 |
IDeferredCommand 方法 | Description |
取消 | 取消先前已排入佇列 的 CDeferredCommand::Invoke 要求。 |
信賴度 | 目前未實作。 |
延後 | 指定先前已排入佇列命令的新簡報時間。 |
GetHResult | 擷取叫用方法的 HRESULT 值。 |