Função NdisAllocateIoWorkItem (ndis.h)
Os drivers NDIS chamam a função NdisAllocateIoWorkItem para alocar um item de trabalho. Para obter mais informações, consulte Itens de trabalho de E/S do NDIS.
Sintaxe
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
Parâmetros
[in] NdisObjectHandle
O identificador de um objeto NDIS associado a um objeto de dispositivo ou objeto de driver.
Retornar valor
Se NdisAllocateIoWorkItem alocar com êxito um item de trabalho, ele retornará um identificador para o item de trabalho. Se falhar, NdisAllocateIoWorkItem retornará NULL.
Comentários
Os drivers de miniporto NDIS passam NdisAllocateIoWorkItem em qualquer uma das duas alças: o identificador do adaptador que o NDIS passou para a função MiniportInitializeEx ou o identificador de driver de miniport que o NDIS retornou quando o driver de miniporto chamou NdisMRegisterMiniportDriver.
Os drivers de filtro NDIS podem passar NdisAllocateIoWorkItem o identificador do driver de filtro retornado pelo NDIS quando o driver de filtro chamado NdisFRegisterFilterDriver.
Drivers de miniporto NDIS e drivers de filtro também podem passar NdisAllocateIoWorkItem o identificador de dispositivo NDIS que o NDIS retornou quando o driver chamado NdisRegisterDeviceEx. NdisAllocateIoWorkItem obtém o objeto de dispositivo ou objeto de driver associado ao identificador e passa o objeto de dispositivo ou objeto driver para a função IoAllocateWorkItem .
Os drivers NDIS devem chamar a função NdisFreeIoWorkItem para liberar os recursos associados a um item de trabalho que NdisAllocateIoWorkItem alocou.
Os drivers podem chamar NdisFreeIoWorkItem na rotina de retorno de chamada que é passada para NdisQueueIoWorkItem.
Se um driver de miniporto usou o identificador que o NDIS passou para MiniportInitializeEx quando ele chamou NdisAllocateIoWorkItem, o item de trabalho deve ser liberado antes ou na chamada para a função MiniportHaltEx de drivers.
Se um driver de miniporto usou o identificador que NdisMRegisterMiniportDriver retornou quando o driver chamado NdisAllocateIoWorkItem, o driver deverá liberar o item de trabalho antes que o driver descarregue.
Em geral, um driver deve liberar o item de trabalho antes que o driver descarregue.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.0 e posterior. |
Plataforma de Destino | Universal |
Cabeçalho | ndis.h (inclua Ndis.h) |
Biblioteca | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Regras de conformidade de DDI | Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis) |