Поделиться через


Функция IoAllocateWorkItem (wdm.h)

Подпрограмма IoAllocateWorkItem выделяет рабочий элемент.

Синтаксис

PIO_WORKITEM IoAllocateWorkItem(
  [in] PDEVICE_OBJECT DeviceObject
);

Параметры

[in] DeviceObject

Указатель на объект драйвера вызывающего объекта или на один из объектов устройства вызывающего объекта. Если позже вызывающий объект передаст рабочий элемент в IoQueueWorkItem, DeviceObject должен указывать на объект устройства.

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

IoAllocateWorkItem возвращает указатель на выделенную IO_WORKITEM структуру. Подпрограмма возвращает значение NULL , если не существует достаточного количества ресурсов.

Комментарии

Драйвер должен освободить рабочий элемент, возвращаемый IoAllocateWorkItem , вызвав IoFreeWorkItem.

IoAllocateWorkItem выделяет и инициализирует рабочий элемент. Связанная подпрограмма IoInitializeWorkItem инициализирует рабочий элемент в хранилище, которое ранее выделил драйвер. Не вызывайте IoInitializeWorkItem для инициализации рабочего элемента, выделенного IoAllocateWorkItem.

Дополнительные сведения о рабочих элементах см. в разделе Системные рабочие потоки.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционной системы Windows, а также в Windows Me. Эта подпрограмма недоступна в Windows 98.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

См. также раздел

IO_WORKITEM

IoFreeWorkItem

IoInitializeWorkItem

IoQueueWorkItem

IoQueueWorkItemEx