Condividi tramite


WinAsyncAPPCEx

La funzione WinAsyncAPPCEx fornisce un punto di ingresso asincrono per tutti i verbi APPC. Usare questa funzione anziché le versioni di blocco dei verbi per consentire la gestione di più sessioni nello stesso thread usando eventi. Questo verbo è supportato solo in Microsoft Windows e usa eventi Win32®.

Sintassi

  
    HANDLE WINAPI WinAsyncAPPCEx(   
HANDLEevent_handle,  
longlpVcb);  

Parametri

event_handle
Handle usato per la notifica degli eventi tramite eventi Win32.

lpVcb
Puntatore al blocco di controllo verbo.

Valore restituito

Il valore restituito specifica se la richiesta di risoluzione asincrona ha avuto esito positivo. Se la funzione ha esito positivo, il valore restituito è un handle di attività asincrono. Se la funzione non ha esito positivo, viene restituito zero.

Quando questa funzione restituisce un valore con esito positivo, questa operazione non indica che la chiamata APPC verrà restituita correttamente. Indica solo che è stato possibile che la libreria APPC tenti la chiamata APPC in modo asincrono usando gli eventi per la notifica.

Osservazioni:

Questa funzione è destinata all'uso con WaitForSingleObject o WaitForMultipleObjects nell'API Win32. Queste funzioni sono descritte nella sezione "Riferimenti" della documentazione di Microsoft Platform SDK.

Per un esempio di come usare questo verbo in TP multithreading, vedere i TP di invio e ricezione multithreading (MRCV). C, MSEND. C e MSENDRCV. C che si trova nella cartella MSENDRCV) inclusa nell'SDK.

I verbi APPC usati nelle conversazioni di base che possono bloccare sono i seguenti:

Annotazioni

Le eccezioni al paragrafo precedente sono RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT.

Annotazioni

Per consentire l'uso completo del supporto asincrono, sono stati modificati RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT verbi in modo asincrono come i verbi RECEIVE_AND_POST e MC_RECEIVE_AND_POST . In particolare, mentre una versione asincrona di uno di questi verbi è in sospeso, i verbi seguenti possono essere emessi nella stessa conversazione:

Annotazioni

Ciò consente a un'applicazione, in particolare, a un'applicazione server di usare un RECEIVE_AND_WAIT asincrono o MC_RECEIVE_AND_WAIT di ricevere dati. Sebbene il RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT sia eccezionale, può comunque usare SEND_ERROR o MC_SEND_ERROR e REQUEST_TO_SEND o MC_REQUEST_TO_SEND. È consigliabile usare questa funzionalità per il supporto asincrono completo e, in particolare, per il supporto di più conversazioni nello stesso thread.

Al termine dell'operazione asincrona, l'applicazione riceve una notifica tramite la segnalazione dell'evento. Al momento della segnalazione dell'evento, esaminare il codice restituito primario APPC e il codice restituito secondario nel blocco di controllo verbo per eventuali condizioni di errore.