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 provider di integrazione che riceve da software di livello superiore ai dati di rete NDIS. Un elenco di strutture di 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 di 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 il NdisCancelSendNetBufferLists funzione una volta per ogni associazione.
Il driver del protocollo deve assicurarsi 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 di NdisCancelSendNetBufferLists restituisce.
Non esiste alcuna garanzia che la chiamata NdisCancelSendNetBufferLists annulla la trasmissione in sospeso di tutti i dati di rete con l'identificatore di annullamento specificato. Ad esempio, se il driver inferiore successivo 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 NdisCancelSendNetBufferLists e la restituzione delle strutture di NET_BUFFER_LIST annullate può variare e pertanto non può essere specificata esattamente.
Fabbisogno
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) |