IMFAsyncCallback::GetParameters 方法 (mfobjects.h)

为回调的调度线程提供配置信息。

语法

HRESULT GetParameters(
  [out] DWORD *pdwFlags,
  [out] DWORD *pdwQueue
);

参数

[out] pdwFlags

接收一个标志,该标志指示回调对象的 IMFAsyncCallback::Invoke 方法的行为。 定义了以下值。 默认值为零。

含义
Zero
回调不需要很长时间即可完成,但对系统调用它所执行的操作没有具体限制。 回调通常需要不到 30 毫秒才能完成。
MFASYNC_FAST_IO_PROCESSING_CALLBACK
回调的处理非常少。 完成时间不到 1 毫秒。

必须从以下工作队列之一调用回调:

  • MFASYNC_CALLBACK_QUEUE_IO
  • MFASYNC_CALLBACK_QUEUE_TIMER
MFASYNC_SIGNAL_CALLBACK
表示 MFASYNC_FAST_IO_PROCESSING_CALLBACK,其附加限制是回调不处理 (小于 50 微秒) ,并且它进行的唯一系统调用是 SetEvent

必须从以下工作队列之一调用回调:

  • MFASYNC_CALLBACK_QUEUE_IO
  • MFASYNC_CALLBACK_QUEUE_TIMER
MFASYNC_BLOCKING_CALLBACK
阻止回调。
MFASYNC_REPLY_CALLBACK
回复回调。

[out] pdwQueue

接收调度回调的工作队列的标识符。

此值可以指定其中一个标准 Media Foundation 工作队列,或应用程序创建的工作队列。 有关标准媒体基础工作队列的列表,请参阅 工作队列标识符。 若要创建新的工作队列,请调用 MFAllocateWorkQueue。 默认值为 MFASYNC_CALLBACK_QUEUE_STANDARD

如果工作队列与 pdwFlags 中返回的值不兼容,则媒体基础平台在尝试调度回调时返回 MF_E_INVALID_WORKQUEUE 。 (请参阅 MFPutWorkItem.)

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
E_NOTIMPL
未实现。 假定默认行为。

注解

GetParameters 方法返回有关回调的信息,以便调度线程可以优化用于调用回调的进程。

如果方法在 pdwFlags 参数中返回非零值,则 Invoke 方法必须满足此处所述的要求。 否则,回调可能会延迟管道。

如果需要这两个参数的默认值,请返回 E_NOTIMPL。 此页上的参数说明中提供了默认值。

如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:

  • Windows XP with Service Pack 2 (SP2) 及更高版本。
  • Windows XP Media Center Edition 2005 KB900325 (windows XP Media Center Edition 2005) 和KB925766 (2006 年 10 月 Windows XP Media Center Edition 更新汇总) 安装。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfobjects.h (包括 Mfidl.h)
Library Mfuuid.lib

另请参阅

异步回调方法

IMFAsyncCallback

工作队列