CCmdQueue.New 方法
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 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 对象的指针的地址,应用程序可通过该对象取消命令、为其设置新的呈现时间或检索估计信息。
-
pUnk
-
指向将运行命令的 对象的指针。
-
time
-
运行排队命令的时间。
-
iid
-
指向要调用的接口的全局唯一标识符 (GUID) 的指针。
-
dispidMethod
-
要调用的接口上的 方法。
-
wFlags
-
描述调用的上下文的标志。 此参数支持与 IDispatch::Invoke 方法相同的标志。
-
cArgs
-
传递的参数数。
-
pDispParams
-
指向与调度参数关联的变体类型列表的指针。
-
pvarResult
-
指向要返回结果(如果有)的列表的指针。
-
puArgErr
-
指向发生上次错误的 pDispParams 参数列表中的索引的指针。
-
bStream
-
指示 时间 参数是流时间值 (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 | 通过引用赋值而不是值赋值来更改成员。 仅当 属性接受对 对象的引用时,此值才有效。 |
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|