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 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.
Observaciones
Los controladores de miniporte NDIS pasan NdisAllocateIoWorkItem cualquiera de los dos identificadores: el controlador de adaptador que NDIS pasó a la función MiniportInitializeEx o el controlador de miniportar que NDIS devolvió cuando se llamó al controlador de miniporte llamado NdisMRegisterMiniportDriver.
Los controladores de filtro NDIS pueden pasar NdisAllocateIoWorkItem el controlador de filtro que devuelve NDIS 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 llamado NdisRegisterDeviceEx. NdisAllocateIoWorkItem obtiene el objeto de dispositivo o el objeto de controlador asociado al identificador y pasa el objeto de dispositivo o controlador 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 que NdisAllocateIoWorkItem asignado.
Los controladores pueden llamar a NdisFreeIoWorkItem en la rutina de devolución de llamada que se pasa a NdisQueueIoWorkItem.
Si un controlador de miniporte usó el identificador que NDIS pasó a MiniportInitializeEx cuando llamó a NdisAllocateIoWorkItem, el elemento de trabajo debe liberarse antes o en la llamada a los controladores función miniportHaltEx.
Si un controlador de minipuerto usó el controlador que NdisMRegisterMiniportDriver devuelto 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 se descargue el controlador.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Universal |
encabezado de | ndis.h (incluya Ndis.h) |
biblioteca de | Ndis.lib |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis) |