Función NdisCancelSendPackets (ndis.h)
Nota NDIS 5. x está en desuso y se sustituye por NDIS 6. x. Para el nuevo desarrollo de controladores NDIS, consulte Controladores de red a partir de Windows Vista. Para obtener información sobre cómo migrar NDIS 5. Controladores x a NDIS 6. x, consulte Migración de controladores NDIS 5.x a NDIS 6.0.
NdisCancelSendPackets cancela la transmisión de todos los paquetes marcados con el identificador de cancelación especificado en el controlador de miniporte identificado por el identificador de enlace.
Sintaxis
void NdisCancelSendPackets(
[in] NDIS_HANDLE NdisBindingHandle,
[in] PVOID CancelId
);
Parámetros
[in] NdisBindingHandle
Especifica el identificador devuelto por NdisOpenAdapter que identifica la NIC o el adaptador virtual al que se aplica la cancelación.
[in] CancelId
Puntero al identificador de cancelación. Este identificador especifica el paquete o grupo de paquetes para los que se cancela la transmisión.
Valor devuelto
None
Observaciones
Los protocolos de transporte asignan IRP recibidos de software de nivel superior a paquetes NDIS, que los protocolos envían a los controladores de nivel inferior para la transmisión. Si se cancela un IRP, un protocolo de transporte puede llamar a la función NdisCancelSendPackets para cancelar la transmisión pendiente del paquete NDIS correspondiente.
La función NdisCancelSendPackets cancela las transmisiones de paquetes en un único enlace. Para cancelar las transmisiones de paquetes en más de un enlace, un protocolo o controlador intermedio debe llamar a la función NdisCancelSendPackets una vez para cada enlace.
El protocolo o el controlador intermedio deben asegurarse de que NdisBindingHandle, que representa el enlace del controlador al adaptador, sigue siendo válido durante la llamada a NdisCancelSendPackets. Es decir, el protocolo o el controlador intermedio no deben llamar a la función NdisCloseAdapter para cerrar el enlace antes de que se devuelva NdisCancelSendPackets .
No hay ninguna garantía de que llamar a NdisCancelSendPackets cancelará la transmisión pendiente de todos los paquetes con el identificador de cancelación especificado. Por ejemplo, si el controlador siguiente inferior al que está enlazado el protocolo o el controlador intermedio no proporciona una función MiniportCancelSendPackets , una llamada a NdisCancelSendPackets no hace nada.
En todos los casos, los paquetes enviados para la transmisión se devuelven al protocolo de origen o al controlador intermedio a través de una llamada a la función ProtocolSendComplete o ProtocolCoSendComplete del controlador. Los paquetes de envío cancelados se devuelven con un estado de finalización de NDIS_STATUS_ABORTED. El retraso entre llamar a NdisCancelSendPackets y la devolución de los paquetes cancelados puede variar y, por tanto, no se puede especificar exactamente.
- Plataforma de destino: Universal
- Versión: no se admite para controladores NDIS 6.0 en Windows Vista. Use NdisCancelSendNetBufferLists en su lugar. Compatible con controladores NDIS 5.1 en Windows Vista y Windows XP.
Requisitos
Requisito | Valor |
---|---|
Header | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |