функция обратного вызова WUDF_WORKITEM_FUNCTION (wudfworkitem.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]
Функция обратного вызова события OnWorkItem драйвера выполняет работу, связанную с указанным рабочим элементом.
Синтаксис
WUDF_WORKITEM_FUNCTION WudfWorkitemFunction;
void WudfWorkitemFunction(
[in] IWDFWorkItem *pWorkItem
)
{...}
Параметры
[in] pWorkItem
Указатель на интерфейс IWDFWorkItem .
Возвращаемое значение
None
Remarks
Чтобы зарегистрировать функцию обратного вызова OnWorkItem , драйвер должен поместить адрес функции обратного вызова в структуру WUDF_WORKITEM_CONFIG перед вызовом IWDFDevice3::CreateWorkItem.
Как правило, функция обратного вызова OnWorkItem драйвера выполняет задачи, заданные сведениями, которые драйвер хранит в контекстной памяти объекта рабочего элемента.
Драйвер не должен вызывать IWDFObject::D eleteWdfObject из функции обратного вызова OnWorkItem .
Дополнительные сведения см. в разделе Использование рабочих элементов.
Примеры
Тип функции объявлен в Wudfworkitem.h следующим образом.
typedef
VOID
WUDF_WORKITEM_FUNCTION(
_In_
IWDFWorkItem* pWorkItem
);
typedef WUDF_WORKITEM_FUNCTION *PFN_WUDF_WORKITEM;
Чтобы определить функцию обратного вызова OnWorkItem с именем MyWorkItem, необходимо сначала предоставить объявление функции, которое требуется для SDV и других средств проверки, как показано ниже.
WUDF_WORKITEM_FUNCTION MyWorkItem;
Затем реализуйте функцию обратного вызова следующим образом:
VOID
MyWorkItem (
_In_
IWDFWorkItem* pWorkItem
)
{…}
Требования
Требование | Значение |
---|---|
Дата окончания поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Минимальная версия UMDF | 1.11 |
Верхняя часть | wudfworkitem.h |