Функция MFPutWaitingWorkItem (mfapi.h)
Помещает в очередь рабочий элемент, который ожидает передачи сигнала о событии.
Синтаксис
HRESULT MFPutWaitingWorkItem(
[in] HANDLE hEvent,
[in] LONG Priority,
[in] IMFAsyncResult *pResult,
[out] MFWORKITEM_KEY *pKey
);
Параметры
[in] hEvent
Дескриптор объекта события. Чтобы создать объект события, вызовите CreateEvent или CreateEventEx.
[in] Priority
Приоритет рабочего элемента. Рабочие элементы выполняются в порядке приоритета.
[in] pResult
Указатель на интерфейс IMFAsyncResult асинхронного объекта результата. Чтобы создать результирующий объект, вызовите MFCreateAsyncResult.
[out] pKey
Получает ключ, который можно использовать для отмены ожидания. Чтобы отменить ожидание, вызовите MFCancelWorkItem и передайте этот ключ в параметре Key .
Этот параметр может принимать значение NULL.
Возвращаемое значение
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Эта функция позволяет компоненту ожидать события, не блокируя текущий поток.
Функция помещает рабочий элемент в указанную очередь. Этот рабочий элемент ожидает передачи сигнала о событии, заданном в hEvent . При сигнале о событии рабочий элемент вызывает обратный вызов. (Обратный вызов содержится в результирующем объекте, заданном в pResult. Дополнительные сведения см. в разделе MFCreateAsyncResult.
Рабочий элемент отправляется в рабочую очередь методом IMFAsyncCallback::GetParameters обратного вызова. Рабочая очередь может быть любой из следующих:
- Рабочая очередь по умолчанию (MFASYNC_CALLBACK_QUEUE_STANDARD).
- Многопоточность платформы (MFASYNC_CALLBACK_QUEUE_MULTITHREADED).
- Многопоточность очереди, возвращаемая функцией MFLockSharedWorkQueue .
- Последовательная очередь, созданная функцией MFAllocateSerialWorkQueue .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | mfapi.h |
DLL | Mfplat.dll |