Condividi tramite


Funzione NdisCancelSendNetBufferLists (ndis.h)

I driver di protocollo chiamano la funzione NdisCancelSendNetBufferLists per annullare la trasmissione dei dati di rete.

Sintassi

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

Parametri

[in] NdisBindingHandle

Handle restituito dalla funzione NdisOpenAdapterEx che identifica il driver miniport o il miniport virtuale a cui si applica l'annullamento.

[in] CancelId

Identificatore di annullamento. Questo identificatore specifica i dati di rete per cui viene annullata la trasmissione.

Valore restituito

nessuno

Osservazioni

Un driver di protocollo esegue il mapping dei runtime di integrazione che riceve dal software di livello superiore ai dati di rete NDIS. Un elenco di strutture NET_BUFFER_LIST descrive i dati di rete inviati dal driver di protocollo ai driver di livello inferiore per la trasmissione. Se un IRP viene annullato, un driver di protocollo può chiamare la funzione NdisCancelSendNetBufferLists per annullare la trasmissione in sospeso dei dati di rete NDIS corrispondenti.

Chiamare il NDIS_SET_NET_BUFFER_LIST_CANCEL_ID macro per ogni struttura NET_BUFFER_LIST passata ai driver di livello inferiore per la trasmissione. La macro NDIS_SET_NET_BUFFER_LIST_CANCEL_ID contrassegna il pacchetto specificato con un identificatore di annullamento.

NdisCancelSendNetBufferLists annulla la trasmissione di tutti i dati contrassegnati con l'identificatore di annullamento specificato ed è associato al driver miniport specificato. L'handle di associazione specificato nel parametro NdisBindingHandle identifica il driver miniport.

La funzione NdisCancelSendNetBufferLists annulla le trasmissioni di dati di rete in un'unica associazione. Per annullare le trasmissioni di dati di rete in più associazioni, un driver di protocollo deve chiamare la funzione NdisCancelSendNetBufferLists una volta per ogni associazione.

Il driver di protocollo deve garantire che l'handle specificato dal parametro NdisBindingHandle rimanga valido per la durata della chiamata a NdisCancelSendNetBufferLists. Ovvero, il driver del protocollo non deve chiamare la funzione NdisCloseAdapterEx per chiudere l'associazione prima che NdisCancelSendNetBufferLists restituisca .

Non esiste alcuna garanzia che la chiamata a NdisCancelSendNetBufferLists annullerà la trasmissione in sospeso di tutti i dati di rete con l'identificatore di annullamento specificato. Ad esempio, se il driver successivo inferiore a cui è associato il driver di protocollo non fornisce una funzione MiniportCancelSend , una chiamata a NdisCancelSendNetBufferLists non esegue alcuna operazione.

In tutti i casi, NDIS restituisce i dati di rete inviati per la trasmissione al driver del protocollo di origine Funzione ProtocolSendNetBufferListsComplete . NDIS restituisce dati di invio annullati con stato di completamento di NDIS_STATUS_SEND_ABORTED. Il ritardo tra la chiamata di NdisCancelSendNetBufferLists e il ritorno delle strutture NET_BUFFER_LIST annullate può variare e pertanto non può essere specificato esattamente.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Piattaforma di destinazione Universale
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL <= DISPATCH_LEVEL
Regole di conformità DDI Irql_SendRcv_Function(ndis)

Vedi anche

MiniportCancelSend

NDIS_SET_NET_BUFFER_LIST_CANCEL_ID

NET_BUFFER_LIST

NdisCloseAdapterEx

NdisOpenAdapterEx

ProtocolSendNetBufferListsComplete