Compartir a través de


Función NdisCancelSendNetBufferLists (ndis.h)

Los controladores de protocolo llaman a la función NdisCancelSendNetBufferLists para cancelar la transmisión de datos de red.

Sintaxis

void NdisCancelSendNetBufferLists(
  [in] NDIS_HANDLE NdisBindingHandle,
  [in] PVOID       CancelId
);

Parámetros

[in] NdisBindingHandle

Identificador devuelto por la función NdisOpenAdapterEx que identifica el controlador de miniport o miniport virtual al que se aplica la cancelación.

[in] CancelId

Identificador de cancelación. Este identificador especifica los datos de red para los que se cancela la transmisión.

Valor devuelto

Ninguno

Observaciones

Un controlador de protocolo asigna IRP que recibe de software de nivel superior a datos de red NDIS. Una lista de NET_BUFFER_LIST estructuras describe los datos de red que envía el controlador de protocolo a los controladores de nivel inferior para la transmisión. Si se cancela un IRP, un controlador de protocolo puede llamar al NdisCancelSendNetBufferLists función para cancelar la transmisión pendiente de los datos de red NDIS correspondientes.

Llamada a NDIS_SET_NET_BUFFER_LIST_CANCEL_ID macro para cada estructura de NET_BUFFER_LIST que se pasa a controladores de nivel inferior para la transmisión. La macro NDIS_SET_NET_BUFFER_LIST_CANCEL_ID marca el paquete especificado con un identificador de cancelación.

NdisCancelSendNetBufferLists cancela la transmisión de todos los datos marcados con el identificador de cancelación especificado y está asociado al controlador de miniport especificado. El identificador de enlace especificado en el parámetro NdisBindingHandle identifica el controlador de miniport.

La función NdisCancelSendNetBufferLists cancela las transmisiones de datos de red en un único enlace. Para cancelar las transmisiones de datos de red en más de un enlace, un controlador de protocolo debe llamar al NdisCancelSendNetBufferLists función una vez para cada enlace.

El controlador de protocolo debe asegurarse de que el identificador del parámetro NdisBindingHandle especifica que sigue siendo válido durante la llamada a NdisCancelSendNetBufferLists. Es decir, el controlador de protocolo no debe llamar a la función NdisCloseAdapterEx para cerrar el enlace antes de NdisCancelSendNetBufferLists.

No hay ninguna garantía de que llamar a NdisCancelSendNetBufferLists cancelará la transmisión pendiente de todos los datos de red con el identificador de cancelación especificado. Por ejemplo, si el controlador siguiente inferior al que está enlazado el controlador de protocolo no proporciona una función MiniportCancelSend, una llamada a NdisCancelSendNetBufferLists no hace nada.

En todos los casos, NDIS devuelve los datos de red que se enviaron para la transmisión al controlador del protocolo de origen. función ProtocolSendNetBufferListsComplete. NDIS devuelve datos de envío cancelados con un estado de finalización de NDIS_STATUS_SEND_ABORTED. El retraso entre llamar a NdisCancelSendNetBufferLists y el retorno de las estructuras de NET_BUFFER_LIST canceladas puede variar y, por tanto, no se puede especificar exactamente.

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 Irql_SendRcv_Function(ndis)

Consulte también

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete