Ricezione di dati in modo asincrono

Quando si Windows, un punto di distribuzione può ricevere dati in modo asincrono, indipendentemente dagli altri eventi che si verificano all'interno del punto di distribuzione. La tabella seguente illustra i metodi con cui un punto di distribuzione può ricevere dati in modo asincrono. La tabella indica anche come i metodi asincroni possono essere applicati ad azioni diverse dalla ricezione dei dati.

Sistema operativo Metodo
Windows Tramite un Windows seguente: Problema RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT con WinAsyncAPPC. L'applicazione viene notificata del completamento tramite postmessage all'handle di finestra definito.

Questo metodo non è limitato a RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT, ma può essere applicato a qualsiasi verbo APPC.
Windows Tramite un evento Win32® : rilasciareRECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT con WinAsyncAPPCEx; L'applicazione viene notificata al completamento tramite un evento Win32.

Questo metodo non è limitato a RECEIVE_AND_WAIT e MC_RECEIVE_AND_WAIT, ma può essere applicato a qualsiasi verbo APPC.
Windows Con RECEIVE_AND_POST o MC_RECEIVE_AND_POST: rilasciare il RECEIVE_AND_POST o MC_RECEIVE_AND_POST verbo.

Nell'elenco seguente vengono fornite informazioni dettagliate su questi metodi di ricezione dei dati in modo asincrono. Per informazioni complete, vedere le descrizioni dei verbi.

RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT con WinAsyncAPPC
Questo metodo consente a un'applicazione di rilasciare un verbo e ricevere una notifica tramite PostMessage al termine dell'azione. Per recuperare il numero di messaggio che verrà inviato alla finestra, chiamare RegisterWindowMessage con "WinAsyncAPPC" come stringa di input. Rilasciare quindi RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT usando il punto di ingresso WinAsyncAPPC .

RECEIVE_AND_WAIT o MC_RECEIVE_AND_WAIT con WinAsyncAPPCEx
Questo metodo consente a un'applicazione di ricevere una notifica tramite un evento Win32. Ciò è particolarmente utile quando si scrivono applicazioni che devono eseguire più conversazioni contemporaneamente. L'evento deve essere nello stato non EVENT_MODIFY_STATE quando viene passato ad APPC e l'handle deve avere accesso EVENT_MODIFY_STATE'evento.

RECEIVE_AND_POST o MC_RECEIVE_AND_POST
Quando si RECEIVE_AND_POST o MC_RECEIVE_AND_POST, l'applicazione viene notificata tramite un evento Win32. L'evento deve essere nello stato non EVENT_MODIFY_STATE quando viene passato ad APPC e l'handle deve avere accesso EVENT_MODIFY_STATE'evento.

Durante la ricezione asincrona dei dati, il provider di servizi esegue attività non correlate a questa conversazione. Il TP non può rilasciare la maggior parte dei verbi APPC fino a quando non viene ricevuta la notifica. Per informazioni sui verbi che possono essere rilasciati, vedere le descrizioni di WinAsyncAPPC o WinAsyncAPPCEx.

Dopo che un verbo è stato completato in modo asincrono, controllare primary_rc per verificare se i dati sono stati ricevuti senza errori.

Nota

Se la chiamata iniziale per rilasciare il verbo viene restituita correttamente, all'applicazione viene garantita la notifica (dal metodo applicabile) quando il verbo viene completato, indipendentemente dal fatto che il verbo sia o meno riuscito.