Метод IMFAsyncCallback::GetParameters (mfobjects.h)

Предоставляет сведения о конфигурации для потока диспетчеризации для обратного вызова.

Синтаксис

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

Параметры

[out] pdwFlags

Получает флаг, указывающий поведение метода МВФAsyncCallback объекта обратного вызова::Invoke . Определены следующие значения. Значение по умолчанию: ноль.

Ценность Meaning
Нуль
Обратный вызов не занимает много времени, но не имеет конкретных ограничений на то, какие системные вызовы он делает. Обратный вызов обычно занимает менее 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, платформа Media Foundation возвращает MF_E_INVALID_WORKQUEUE при попытке отправить обратный вызов. (См. MFPutWorkItem.)

Возвращаемое значение

Метод возвращает HRESULT. Возможные значения включают, но не ограничиваются ими в следующей таблице.

Код возврата Description
S_OK
Метод выполнен успешно.
E_NOTIMPL
Не реализовано. Предположим, что поведение по умолчанию.

Замечания

Метод GetParameters возвращает сведения о обратном вызове, чтобы поток диспетчеризации может оптимизировать процесс, который он использует для вызова обратного вызова.

Если метод возвращает значение, отличное от нуля в параметре pdwFlags , метод Invoke должен соответствовать требованиям, описанным здесь. В противном случае обратный вызов может отложить конвейер.

Если вы хотите использовать значения по умолчанию для обоих параметров, вернитесь E_NOTIMPL. Значения по умолчанию задаются в описаниях параметров на этой странице.

Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK для Windows Media 11:

  • Windows XP с пакетом обновления 2 (SP2) и более поздними версиями.
  • Windows XP Media Center Edition 2005 с KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления windows XP Media Center Edition 2006 для Windows XP Media Center Edition).

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
Header mfobjects.h (include Mfidl.h)
Library Mfuuid.lib

См. также

Асинхронные методы обратного вызова

МВФAsyncCallback

Рабочие очереди