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 miniporte 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

None

Observaciones

Un controlador de protocolo asigna IRP que recibe de software de nivel superior a datos de red NDIS. Una lista de estructuras de NET_BUFFER_LIST 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 a la función NdisCancelSendNetBufferLists para cancelar la transmisión pendiente de los datos de red NDIS correspondientes.

Llamar 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 minipuerto 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 a la función NdisCancelSendNetBufferLists una vez para cada enlace.

El controlador de protocolo debe asegurarse de que el identificador que especifica el parámetro NdisBindingHandle permanece válido mientras dure la llamada a NdisCancelSendNetBufferLists. Es decir, el controlador de protocolo no debe llamar a la función NdisCloseAdapterEx para cerrar el enlace antes de que se devuelva NdisCancelSendNetBufferLists .

No hay ninguna garantía de que la llamada a NdisCancelSendNetBufferLists cancele 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 su 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 la devolución de las estructuras de NET_BUFFER_LIST canceladas puede variar y, por tanto, no se puede especificar exactamente.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite en 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 Irql_SendRcv_Function(ndis)

Consulte también

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete