Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйверы NDIS вызывают функцию NdisAllocateIoWorkItem для выделения рабочего элемента. Дополнительные сведения см. в разделе рабочие элементы ввода-вывода NDIS.
Синтаксис
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
Параметры
[in] NdisObjectHandle
Дескриптор объекта NDIS, связанного с объектом устройства или объектом драйвера.
Возвращаемое значение
Если NdisAllocateIoWorkItem успешно выделяет рабочий элемент, он возвращает дескриптор рабочему элементу. В случае сбоя NdisAllocateIoWorkItem возвращает NULL.
Замечания
Драйверы минипорта NDIS передают NdisAllocateIoWorkItem любой из двух дескрипторов: дескриптор адаптера, передаваемый в функцию MiniportInitializeEx или обработчик минипорта, который NDIS возвращается при вызове драйвера минипорта. NdisMRegisterMiniportDriver.
Драйверы фильтров NDIS могут передавать NdisAllocateIoWorkItem обработчик фильтра, возвращаемый NDIS, когда драйвер фильтра называется NdisFRegisterFilterDriver.
Драйверы мини-порта NDIS и драйверы фильтров также могут передавать NdisAllocateIoWorkItem дескриптор устройства NDIS, возвращаемый при вызове драйвера NdisRegisterDeviceEx. NdisAllocateIoWorkItem получает объект устройства или объект драйвера, связанный с дескриптором, и передает объект устройства или объект драйвера в функцию IoAllocateWorkItem.
Драйверы NDIS должны вызывать функцию NdisFreeIoWorkItem, чтобы освободить ресурсы, связанные с рабочим элементом, который NdisAllocateIoWorkItem.
Драйверы могут вызывать NdisFreeIoWorkItem в подпрограмме обратного вызова, передаваемой NdisQueueIoWorkItem.
Если драйвер минипорта использовал дескриптор, передаваемый NDIS в MiniportInitializeEx при вызове NdisAllocateIoWorkItem, рабочий элемент должен быть освобожден перед вызовом функции MiniportHaltEx.
Если мини-драйвер использовал дескриптор, который NdisMRegisterMiniportDriver, когда драйвер вызвал NdisAllocateIoWorkItem, драйвер должен освободить рабочий элемент перед выгрузкой драйвера.
Как правило, драйвер должен освободить рабочий элемент перед выгрузкой драйвера.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
| целевая платформа | Всеобщий |
| заголовка | ndis.h (include Ndis.h) |
| библиотеки | Ndis.lib |
| IRQL | <= DISPATCH_LEVEL |
| правил соответствия DDI | Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis) |