PROTOCOL_CM_DROP_PARTY funzione di callback (ndis.h)

È necessaria la funzione ProtocolCmDropParty . NDIS chiama ProtocolCmDropParty per richiedere che il gestore chiamate rimuove una parte da una chiamata multipoint esistente.

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

Sintassi

PROTOCOL_CM_DROP_PARTY ProtocolCmDropParty;

NDIS_STATUS ProtocolCmDropParty(
  [in]           NDIS_HANDLE CallMgrPartyContext,
  [in, optional] PVOID CloseData,
  [in, optional] UINT Size
)
{...}

Parametri

[in] CallMgrPartyContext

Specifica l'handle in un'area di contesto allocata dal gestore chiamate in cui il gestore chiamate mantiene lo stato per parti. Questo handle è stato fornito a NDIS nella funzione ProtocolCmAddParty di Gestione chiamate.

[in, optional] CloseData

Puntatore a un buffer contenente dati specifici del client orientati alla connessione che devono essere inviati all'interno della connessione prima dell'eliminazione dell'entità. Questo parametro è NULL se il supporto di rete sottostante non supporta i trasferimenti di dati durante la chiusura di una connessione.

[in, optional] Size

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

Valore restituito

ProtocolCmDropParty restituisce lo stato delle operazioni come uno dei valori seguenti:

Codice restituito Descrizione
NDIS_STATUS_SUCCESS
Indica che il gestore chiamate ha eliminato correttamente l'entità, inviato tutti i dati di chiusura e liberare le risorse allocate per l'area di contesto.
NDIS_STATUS_PENDING
Indica che il gestore chiamate completerà la richiesta per eliminare la parte in modo asincrono. Il gestore chiamate deve chiamare NdisCmDropPartyComplete al termine dell'elaborazione per notificare NDIS e l'attore che richiede che la parte sia stata eliminata.
NDIS_STATUS_INVALID_DATA
Indica che CloseData è stato specificato al gestore chiamate, ma il tipo di supporto non supporta l'invio di dati simultanei con la terminazione della connessione.

Commenti

ProtocolCmDropParty comunica con dispositivi di controllo di rete o altri agenti specifici del supporto, in base alle esigenze dei supporti, per eliminare una parte da una chiamata a più punti esistente. Se il gestore chiamate è necessario per comunicare con gli agenti di controllo di rete (ad esempio, un commutatore di rete) deve usare una connessione virtuale agli agenti di controllo di rete stabiliti nel relativo Funzione ProtocolBindAdapterEx .

Se CloseData non è NULL e l'invio di dati alla terminazione della connessione è supportato dal tipo di supporto, la gestione chiamate deve trasmettere i dati specificati in CloseData prima di completare la terminazione. Se l'invio di dati simultanei alla terminazione della connessione non è supportato dal tipo di supporto, la gestione chiamate deve restituire il controllo con NDIS_STATUS_INVALID_DATA.

I responsabili delle chiamate devono anche liberare tutte le risorse per parti allocate e archiviate in CallMgrPartyContext . Inoltre, il gestore chiamate deve liberare il buffer archiviato CallMgrPartyContext stesso. Se non si esegue questa operazione, si verifica una condizione di perdita di memoria.

Esempi

Per definire una funzione ProtocolCmDropParty , è prima 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 usando i tipi di funzione consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una funzione ProtocolCmDropParty denominata "MyCmDropParty", usare il tipo di PROTOCOL_CM_DROP_PARTY come illustrato in questo esempio di codice:

PROTOCOL_CM_DROP_PARTY MyCmDropParty;

Implementare quindi la funzione come indicato di seguito:

_Use_decl_annotations_
NDIS_STATUS
 MyCmDropParty(
    NDIS_HANDLE  CallMgrPartyContext,
    PVOID  CloseData,
    UINT  Size
    )
  {...}

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

Per informazioni su 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 ProtocolCmDropParty (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolCmDropParty (NDIS 5.1) in Windows XP.
Piattaforma di destinazione Windows
Intestazione ndis.h (includere Ndis.h)
IRQL <= DISPATCH_LEVEL

Vedi anche

NdisCmDropPartyComplete

ProtocolCmAddParty