Función NdisAllocateIoWorkItem (ndis.h)
Los controladores NDIS llaman a la función NdisAllocateIoWorkItem para asignar un elemento de trabajo. Para obtener más información, consulte Elementos de trabajo de E/S de NDIS.
Sintaxis
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
Parámetros
[in] NdisObjectHandle
Identificador de un objeto NDIS asociado a un objeto de dispositivo o un objeto de controlador.
Valor devuelto
Si NdisAllocateIoWorkItem asigna correctamente un elemento de trabajo, devuelve un identificador al elemento de trabajo. Si se produce un error, NdisAllocateIoWorkItem devuelve NULL.
Comentarios
Los controladores de miniporte NDIS pasan NdisAllocateIoWorkItem cualquiera de los dos controladores: el controlador de adaptador que NDIS pasó a la función MiniportInitializeEx o el controlador de miniporte que NDIS devolvió cuando el controlador de miniporte llamado NdisMRegisterMiniportDriver.
Los controladores de filtro NDIS pueden pasar NdisAllocateIoWorkItem el controlador de filtro que NDIS devolvió cuando el controlador de filtro llamado NdisFRegisterFilterDriver.
Los controladores de miniporte NDIS y los controladores de filtro también pueden pasar NdisAllocateIoWorkItem el identificador del dispositivo NDIS que NDIS devolvió cuando el controlador llamó a NdisRegisterDeviceEx. NdisAllocateIoWorkItem obtiene el objeto de dispositivo o el objeto de controlador asociado al identificador y pasa el objeto de dispositivo o el objeto driver a la función IoAllocateWorkItem .
Los controladores NDIS deben llamar a la función NdisFreeIoWorkItem para liberar los recursos asociados a un elemento de trabajo asignado a NdisAllocateIoWorkItem .
Los controladores pueden llamar a NdisFreeIoWorkItem en la rutina de devolución de llamada que se pasa a NdisQueueIoWorkItem.
Si un controlador de minipuerto usó el identificador que NDIS pasó a MiniportInitializeEx cuando llamó a NdisAllocateIoWorkItem, el elemento de trabajo debe liberarse antes o en la llamada a la función MiniportHaltEx de controladores.
Si un controlador de minipuerto usó el identificador que NdisMRegisterMiniportDriver devolvió cuando el controlador llamó a NdisAllocateIoWorkItem, el controlador debe liberar el elemento de trabajo antes de que se descargue el controlador.
En general, un controlador debe liberar el elemento de trabajo antes de que el controlador se descargue.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis) |