Compartir a través de


Función NdisCancelSendPackets (ndis.h)

Nota NDIS 5. x ha quedado 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 Porting NDIS 5.x Drivers to NDIS 6.0.

NdisCancelSendPackets cancela la transmisión de todos los paquetes marcados con el identificador de cancelación especificado en el controlador de minipuerto 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

Ninguno

Observaciones

Los protocolos de transporte asignan IRP recibidos de software de nivel superior a paquetes NDIS, que los protocolos envían a controladores de nivel inferior para la transmisión. Si se cancela un IRP, un protocolo de transporte puede llamar al NdisCancelSendPackets función 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 un controlador intermedio debe llamar al NdisCancelSendPackets función 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 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 del controlador o ProtocolCoSendComplete. 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 de
  • 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
encabezado de ndis.h (incluya Ndis.h)
biblioteca de Ndis.lib
irQL IRQL <= DISPATCH_LEVEL

Consulte también