共用方式為


CCmdQueue.New 方法

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

方法 New 會初始化要執行的命令,並傳回新的 CDeferredCommand 物件。

語法

virtual HRESULT New(
   CDeferredCommand **ppCmd,
   LPUNKNOWN        pUnk,
   REFTIME          time,
   GUID             *iid,
   long             dispidMethod,
   short            wFlags,
   long             cArgs,
   VARIANT          *pDispParams,
   VARIANT          *pvarResult,
   short            *puArgErr,
   BOOL             bStream
);

參數

ppCmd

CDeferredCommand物件的指標位址,讓應用程式可以取消命令、為其設定新的簡報時間,或擷取估計資訊。

朋 克

將執行命令之 物件的指標。

time

執行佇列命令或命令的時間。

Iid

要呼叫之介面的全域唯一識別碼指標 (GUID) 。

dispidMethod

要呼叫之介面上的 方法。

wFlags

描述呼叫之內容的旗標。 此參數支援與 IDispatch::Invoke 方法相同的旗標。

cArgs

傳遞的引數數目。

pDispParams

與分派參數相關聯的變體類型清單指標。

pvarResult

要傳回結果的清單指標,如果有的話。

puArgErr

pDispParams參數清單中的索引指標,其中發生最後一個錯誤。

bStream

值,指出 time 參數是否為串流時間值, (TRUE) 或表示時間值 (FALSE) 。

傳回值

如果成功,則傳回S_OK。 如果ppCmd從建立值為Null的新CDeferredCommand物件傳回,則傳回E_OUTOFMEMORY。 否則,會傳回 HRESULT ,指出嘗試建立新的 CDeferredCommand 物件時發生錯誤。 如果發生錯誤,則沒有任何物件已排入佇列。

備註

新的 CDeferredCommand 物件將會使用 參數初始化,並在建構期間新增至佇列。 這個方法類似于 IDispatch::Invoke 方法。

wFlags參數的值包括下列各項:

說明
DISPATCH_METHOD 成員正在以方法的形式執行。 如果屬性具有相同的名稱,則可以設定這個 和 DISPATCH_PROPERTYGET 旗標。
DISPATCH_PROPERTYGET 正在擷取成員做為屬性或資料成員。
DISPATCH_PROPERTYPUT 成員正在變更為屬性或資料成員。
DISPATCH_PROPERTYPUTREF 成員正透過參考指派進行變更,而不是值指派。 只有當屬性接受物件的參考時,這個值才有效。

規格需求

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

另請參閱

CCmdQueue 類別