PROTOCOL_CM_ACTIVATE_VC_COMPLETE funzione di callback (ndis.h)
È necessaria la funzione ProtocolCmActivateVcComplete . Questa funzione indica al gestore chiamate che una chiamata precedente a NdisCoActivateVc è stata completata dal driver miniport.
Sintassi
PROTOCOL_CM_ACTIVATE_VC_COMPLETE ProtocolCmActivateVcComplete;
void ProtocolCmActivateVcComplete(
[in] NDIS_STATUS Status,
[in] NDIS_HANDLE CallMgrVcContext,
[in] PCO_CALL_PARAMETERS CallParameters
)
{...}
Parametri
[in] Status
Specifica lo stato finale, come indicato dal driver miniport, della richiesta dal gestore chiamate per attivare un VC.
[in] CallMgrVcContext
Specifica l'handle in un'area di contesto allocata dal gestore chiamate in cui il gestore chiamate mantiene lo stato per vc. Il gestore chiamate ha fornito questo handle dalla relativa funzione ProtocolCoCreateVc .
[in] CallParameters
Puntatore ai parametri di chiamata come specificato dal gestore chiamate in una chiamata a NdisCmActivateVc.
Valore restituito
nessuno
Osservazioni
Quando altri componenti di rete hanno completato le operazioni per l'attivazione di una connessione virtuale, avviata quando il gestore chiama NdisCmActivateVc, NDIS notifica al gestore chiamate che il VC è stato attivato chiamando la funzione ProtocolCmActivateVcComplete . Lo stato dell'attivazione viene trovato in Stato . I valori possibili per Status includono, ma non sono limitati a:
ProtocolCmActivateVcComplete deve controllare lo stato restituito in Stato per assicurarsi che la connessione virtuale sia stata attivata correttamente. La gestione chiamate non deve tentare di comunicare tramite la connessione virtuale se lo stato non è NDIS_STATUS_SUCCESS.
I responsabili delle chiamate devono completare qualsiasi elaborazione richiesta dal supporto di rete per assicurarsi che la connessione virtuale sia pronta per la trasmissione dei dati prima di restituire il controllo a NDIS.
Se il gestore chiamate ha specificato ROUND_UP_FLOW o ROUND_DOWN_FLOW nei CallParameters ->
MediaParameters->I flag, i parametri di chiamata restituiti in CallParameters possono essere stati modificati dal driver miniport. I responsabili delle chiamate devono esaminare i parametri di chiamata restituiti per garantire un'operazione corretta. Se i nuovi parametri di chiamata non sono soddisfatti, il gestore chiamate deve chiamare nuovamente NdisCmActivateVc con nuovi parametri di chiamata o disattivare il vc con NdisCmDeactivateVc.
Esempi
Per definire una funzione ProtocolCmActivateVcComplete , è 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 ProtocolCmActivateVcComplete denominata "MyCmActivateVcComplete ", usare il tipo di PROTOCOL_CM_ACTIVATE_VC_COMPLETE come illustrato in questo esempio di codice:
PROTOCOL_CM_ACTIVATE_VC_COMPLETE MyCmActivateVcComplete;
Implementare quindi la funzione come indicato di seguito:
_Use_decl_annotations_
VOID
MyCmActivateVcComplete(
NDIS_STATUS Status,
NDIS_HANDLE CallMgrVcContext,
PCO_CALL_PARAMETERS CallParameters
)
{...}
Il tipo di funzione PROTOCOL_CM_ACTIVATE_VC_COMPLETE è 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_ACTIVATE_VC_COMPLETE 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 ProtocolCmActivateVcComplete (NDIS 5.1) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere ProtocolCmActivateVcComplete (NDIS 5.1) in Windows XP. |
Piattaforma di destinazione | Windows |
Intestazione | ndis.h (includere Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Regole di conformità DDI | SpinLockBalanced(ndis), SpinLockDpr(ndis) |