Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Programma che emette una chiamata e non riprende il controllo finché la chiamata non viene completata non può eseguire altre operazioni. Questo tipo di operazione, detto blocco, non è adatto a un'applicazione server progettata per gestire più richieste da molti client. Il completamento delle chiamate asincrone restituisce immediatamente la chiamata iniziale, in modo che l'applicazione possa continuare con altri processi.
Il supporto di Windows Common Programming Interface for Communications (CPI-C) è correlato alle comunicazioni asincrone e include le chiamate e le estensioni seguenti:
Imposta modalità di elaborazione (Set_Processing_Mode) (CPI-C)
Specify_Windows_Handle (CPI-C)
Per il completamento asincrono dei verbi sono disponibili due metodi in Microsoft Windows:
Invio di messaggi tramite maniglie/handle di finestra.
In attesa di eventi Win32.
Il metodo tradizionale usa messaggi inviati a un handle di finestra per notificare a un'applicazione il completamento del verbo. Questo metodo è stato usato nelle versioni precedenti del prodotto per supportare Windows 3. x.
Il supporto asincrono tramite la registrazione dei messaggi viene aggiunto alla chiamata Set_Processing_Mode (CPI-C) e consente a un'applicazione di ricevere una notifica di completamento delle chiamate in un handle di finestra. Chiamando RegisterWindowsMessage con "WinAsyncCPIC" come stringa, un'applicazione passa un handle di finestra da cui l'applicazione riceve una notifica di completamento della chiamata. L'applicazione effettua quindi la chiamata CPI-C e al completamento di un messaggio viene inviato all'handle di finestra passato, notificando all'applicazione che la chiamata è stata completata.
Ad eccezione di una chiamata di ricezione asincrona che può eseguire determinate altre chiamate in sospeso, una conversazione può avere una sola operazione incompleta in qualsiasi momento. Per altre informazioni sull'uso di una chiamata di ricezioneasincrona, vedere Uso del completamento asincrono delle chiamate. Nel caso di un'operazione incompleta, il programma può rilasciare Wait_For_Conversation per verificarne il completamento o Cancel_Conversation per terminare la conversazione e l'operazione incompleta.
Un secondo metodo che usa eventi Win32 per la notifica è supportato in Host Integration Server.
Se un evento è stato registrato con la conversazione tramite WinCPICSetEvent, un'applicazione può chiamare la funzione Win32 WaitForSingleObject o WaitForMultipleObjects per attendere la notifica del completamento del verbo.
Le uniche funzioni di estensione di Windows necessarie per Windows CPI-C sono per scopi di inizializzazione (WinCPICStartup) e terminazione (WinCPICCleanup). A seconda dell'applicazione, altre estensioni di Windows per la gestione del completamento asincrono dei verbi possono essere utili, ma non sono necessarie. Per un esempio di come usare Windows CPI-C chiamate asincrone e le estensioni di Windows, vedi Completamento asincrono delle chiamate. Per una descrizione completa di tutte le chiamate e le estensioni di Windows CPI-C, vedere CPI-C Chiamate ed estensioni per l'ambiente Windows.