PROTOCOL_CL_INCOMING_DROP_PARTY funzione di callback (ndis.h)

La funzione ProtocolClIncomingDropParty viene utilizzata dai client NDIS orientati alla connessione che configurano connessioni multipunto. Tali client devono avere funzioni ProtocolClIncomingDropParty . In caso contrario, la funzione ProtocolClIncomingDropParty registrata di un driver di protocollo può semplicemente restituire il controllo.

Nota È necessario dichiarare la funzione usando il tipo di PROTOCOL_CL_INCOMING_DROP_PARTY . Per altre informazioni, vedere la sezione Esempi seguente.
 

Sintassi

PROTOCOL_CL_INCOMING_DROP_PARTY ProtocolClIncomingDropParty;

void ProtocolClIncomingDropParty(
  [in] NDIS_STATUS DropStatus,
  [in] NDIS_HANDLE ProtocolPartyContext,
  [in] PVOID CloseData,
  [in] UINT Size
)
{...}

Parametri

[in] DropStatus

Indica il motivo per cui l'entità deve essere eliminata. In genere, questo è NDIS_STATUS_SUCCESS se l'entità nella nota remota ha avviato una chiusura della connessione, ma potrebbe essere qualsiasi stato determinato da CM se il gestore chiamate ha avviato questa operazione di rilascio a causa di problemi di rete individuati.

[in] ProtocolPartyContext

Specifica l'handle per l'area di contesto per entità del client da eliminare. Il client ha originariamente fornito questo handle a NDIS quando ha chiamato NdisClAddParty o NdisClMakeCall.

[in] CloseData

Puntatore a un buffer contenente un messaggio di chiusura specifico del protocollo, possibilmente fornito dal client remoto ricevuto dal gestore chiamate in rete oppure questo parametro può essere NULL.

Quando DropStatus è NDIS_STATUS_SUCCESS, questo parametro è NULL se il supporto di rete sottostante non supporta i trasferimenti di dati quando si chiude una connessione. Tuttavia, qualsiasi gestore chiamate specifico potrebbe definire una struttura per passare informazioni di diagnostica aggiuntive ai relativi client sulle operazioni di rilascio causate da problemi nella rete.

[in] Size

Specifica la lunghezza, in byte, del buffer in CloseData, zero se CloseData è NULL.

Valore restituito

nessuno

Osservazioni

Una chiamata a ProtocolClIncomingDropParty indica che si è verificato uno dei seguenti:

  • Il gestore chiamate ha ricevuto una richiesta in rete per chiudere una connessione stabilita, identificata da NdisPartyHandle che il client ha archiviato nell'area del contesto per parte in ProtocolPartyContext .
  • Il gestore chiamate ha rilevato che i problemi di rete impediranno ulteriori trasferimenti di dati sulla connessione stabilita.
In entrambi i casi , ProtocolClIncomingDropParty deve eseguire qualsiasi operazione determinata dal protocollo per eliminare l'entità dal vc multipoint del client. ProtocolClIncomingDropParty deve chiamare NdisClDropParty oppure, se si tratta dell'ultima parte rimanente nel vc multipoint del client, NdisClCloseCall.

ProtocolClIncomingDropParty deve considerare NdisPartyHandle che il client ottenuto da NdisClAddParty o NdisClMakeCall non è valido. ProtocolClIncomingDropParty può rilasciare l'area di contesto per entità del client o prepararla per il riutilizzo in una chiamata successiva a NdisClAddParty.

Esempi

Per definire una funzione ProtocolClIncomingDropParty , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di funzione che si sta definendo. Windows fornisce un set di tipi di funzione per i driver. La dichiarazione di una funzione con i tipi di funzione consente di eseguire l'analisi del codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica rilevano gli errori ed è un requisito per la scrittura dei driver per il sistema operativo Windows.

Ad esempio, per definire una funzione ProtocolClIncomingDropParty denominata "MyClIncomingDropParty", usare il tipo di PROTOCOL_CL_INCOMING_DROP_PARTY come illustrato nell'esempio di codice seguente:

PROTOCOL_CL_INCOMING_DROP_PARTY MyClIncomingDropParty;

Implementare quindi la funzione come segue:

_Use_decl_annotations_
VOID
 MyClIncomingDropParty(
    NDIS_STATUS  DropStatus,
    NDIS_HANDLE  ProtocolPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

Il tipo di funzione PROTOCOL_CL_INCOMING_DROP_PARTY è definito nel file di intestazione Ndis.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione Use_decl_annotations alla definizione della funzione. L'annotazione Use_decl_annotations assicura che vengano utilizzate le annotazioni applicate al tipo di funzione PROTOCOL_CL_INCOMING_DROP_PARTY nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver NDIS.

Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere ProtocolClIncomingDropParty (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolClIncomingDropParty (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (include Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

NdisClAddParty

NdisClCloseCall

NdisClDropParty

NdisClMakeCall

NdisCmDispatchIncomingDropParty

NdisFreeMemory

NdisFreeToNPagedLookasideList NdisMCmDispatchIncomingDropParty