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.
Valor de retorno
Se NdisAllocateIoWorkItem alocar com êxito um item de trabalho, ele retornará um identificador para o item de trabalho. Se falhar, NdisAllocateIoWorkItem retornará NULL .
Observações
Os drivers de miniporto NDIS passam NdisAllocateIoWorkItem uma das duas alças: a alça do adaptador que o NDIS passou para a função MiniportInitializeEx do ou o identificador do driver de miniporto que o NDIS retornou quando o driver do miniporto chamou NdisMRegisterMiniportDriver.
Os drivers de filtro NDIS podem passar NdisAllocateIoWorkItem o identificador do driver de filtro que o NDIS retornou 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 do dispositivo ou objeto de 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 alocado.
Os drivers podem chamar NdisFreeIoWorkItem na rotina de retorno de chamada passada para NdisQueueIoWorkItem.
Se um driver de miniporto usou o identificador que o NDIS passou para MiniportInitializeEx quando chamou NdisAllocateIoWorkItem, o item de trabalho deverá ser liberado antes ou na chamada para os drivers função de MiniportHaltEx.
Se um driver de miniporto tiver usado o identificador que NdisMRegisterMiniportDriver retornado 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 |
---|---|
de cliente com suporte mínimo | Com suporte no NDIS 6.0 e posterior. |
da 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) |