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.
La funzione WinAsyncAPPC fornisce un punto di ingresso asincrono per tutti i verbi APPC. Usare questa funzione anziché le versioni bloccanti dei verbi se si esegue l'applicazione e si vuole usare la registrazione dei messaggi usando handle di Windows per il completamento asincrono del verbo.
Sintassi
HANDLE WINAPI WinAsyncAPPC(
HANDLE hWnd,
Long lpVcb
);
Parametri
hWnd
Handle di finestra che verrà usato per la pubblicazione di messaggi per notificare a un'applicazione il completamento di un verbo APPC.
lpVcb
Puntatore al blocco di controllo verbo.
Valore restituito
Il valore restituito specifica se la richiesta 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 la registrazione di messaggi per la notifica.
Osservazioni:
Per un esempio di come usare questo verbo nei programmi di transazione , vedere il file TP di esempio send and receive (SENDRECV). C che si trova nella cartella APPC) inclusa nell'SDK.
I verbi APPC usati nelle conversazioni di base che possono bloccare sono i seguenti:
-
I verbi APPC usati nelle conversazioni mappate che possono bloccare sono i seguenti:
-
Quando si usano le versioni sincrone o asincrone di un verbo, un'applicazione può avere una sola funzione in sospeso in corso in una conversazione alla volta. Un tentativo di avviare una seconda funzione genera il codice di errore AP_CONV_BUSY.
Le eccezioni al paragrafo precedente sono:
-
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:
DEALLOCATE (AP_ABEND_PROG, AP_ABEND_SVC o AP_ABEND_TIMER)
-
In questo modo un'applicazione, in particolare, un emulatore 5250, può usare un RECEIVE_AND_WAIT asincrono o MC_RECEIVE_AND_WAIT per ricevere i 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.
Al termine dell'operazione asincrona, la finestra dell'applicazione hWnd riceve il messaggio restituito da RegisterWindowMessage con "WinAsyncAPPC" come stringa di input. L'argomento wParam contiene l'handle di attività asincrono restituito dalla chiamata di funzione originale. L'argomento lParam contiene il puntatore VCB originale e può essere dereferenziato per determinare il codice restituito finale.
Come parte della definizione appc di Windows, WinAPPCCancelAsyncRequest consente a un'applicazione di annullare qualsiasi azione appc asincrona; ma termina la conversazione correlata o tp in base alle esigenze. Tutte le operazioni in sospeso restituiscono con AP_CANCELED come codice restituito.
Se la funzione viene restituita correttamente, un messaggio WinAsyncAPPC viene inviato all'applicazione al termine dell'operazione o la conversazione viene annullata.