Funzione NdisCancelSendPackets (ndis.h)
Nota NDIS 5. x è stato deprecato ed è sostituito da NDIS 6. x. Per il nuovo sviluppo di driver NDIS, vedere Driver di rete a partire da Windows Vista. Per informazioni sulla conversione di NDIS 5. driver x a NDIS 6. x, vedere Conversione di driver NDIS 5.x in NDIS 6.0.
NdisCancelSendPackets annulla la trasmissione di tutti i pacchetti contrassegnati con l'identificatore di annullamento specificato nel driver miniport identificato dall'handle di associazione.
Sintassi
void NdisCancelSendPackets(
[in] NDIS_HANDLE NdisBindingHandle,
[in] PVOID CancelId
);
Parametri
[in] NdisBindingHandle
Specifica l'handle restituito da NdisOpenAdapter che identifica la scheda di interfaccia di rete o la scheda virtuale a cui si applica l'annullamento.
[in] CancelId
Puntatore all'identificatore di annullamento. Questo identificatore specifica il pacchetto o il gruppo di pacchetti per cui la trasmissione viene annullata.
Valore restituito
nessuno
Osservazioni
I protocolli di trasporto mappano gli IRP ricevuti da software di livello superiore a pacchetti NDIS, che i protocolli inviano quindi ai driver di livello inferiore per la trasmissione. Se un'IRP viene annullata, un protocollo di trasporto può chiamare la funzione NdisCancelSendPackets per annullare la trasmissione in sospeso del pacchetto NDIS corrispondente.
La funzione NdisCancelSendPackets annulla le trasmissioni dei pacchetti in un'unica associazione. Per annullare le trasmissioni dei pacchetti in più associazioni, un protocollo o un driver intermedio deve chiamare la funzione NdisCancelSendPackets una volta per ogni associazione.
Il driver protocollo o intermedio deve assicurarsi che NdisBindingHandle, che rappresenta l'associazione del driver all'adapter, rimanga valida per la durata della chiamata a NdisCancelSendPackets. Ovvero, il protocollo o il driver intermedio non devono chiamare la funzione NdisCloseAdapter per chiudere l'associazione prima che NdisCancelSendPackets restituisca.
Non vi è alcuna garanzia che la chiamata a NdisCancelSendPackets annulla la trasmissione in sospeso di tutti i pacchetti con l'ID di annullamento specificato. Ad esempio, se il driver inferiore successivo a cui è associato il protocollo o il driver intermedio non fornisce una funzione MiniportCancelSendPackets , una chiamata a NdisCancelSendPackets non fa nulla.
In tutti i casi, i pacchetti inviati per la trasmissione vengono restituiti al protocollo di origine o al driver intermedio tramite una chiamata alla funzione ProtocolSendComplete o ProtocolCoSendComplete del driver. I pacchetti di invio annullati vengono restituiti con lo stato di completamento di NDIS_STATUS_ABORTED. Il ritardo tra la chiamata di NdisCancelSendPackets e la restituzione dei pacchetti annullati può variare e pertanto non può essere esattamente specificata.
- Piattaforma di destinazione: universale
- Versione: non supportata per i driver NDIS 6.0 in Windows Vista. Usare invece NdisCancelSendNetBufferLists. Supportato per i driver NDIS 5.1 in Windows Vista e Windows XP.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ndis.h (includere Ndis.h) |
Libreria | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |