IMFAsyncCallback::GetParameters 方法(mfobjects.h)

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

Syntax

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

参数

[out] pdwFlags

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

价值 Meaning
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 工作队列之一或应用程序创建的工作队列。 有关标准 Media Foundation 工作队列的列表,请参阅 工作队列标识符。 若要创建新的工作队列,请调用 MFAllocateWorkQueue。 默认值 为MFASYNC_CALLBACK_QUEUE_STANDARD

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

返回值

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

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

注解

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

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

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

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

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

要求

Requirement 价值
最低支持的客户端 Windows Vista [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2008 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header mfobjects.h (包括 Mfidl.h)
Library Mfuuid.lib

另请参阅

异步回调方法

IMFAsyncCallback

工作队列