Emissione di un verbo APPC
Per eseguire un verbo APPC di blocco, è necessaria la procedura seguente. Nel codice di esempio il verbo emesso viene MC_SEND_DATA.
Per emettere un verbo APPC di blocco
Creare una variabile di struttura dalla struttura VCB (Verb Control Block) che si applica al verbo APPC da emettere.
#include <winappc.h> . . struct mc_send_data mcsend; The VCB structures are declared in WINAPPC.H; one of these structures is: mc_send_data
Cancella (impostato su zero) le variabili all'interno della struttura VCB.
memset( mcsend, '\0', sizeof( mcsend ) );
Assegnare valori alle variabili VCB che forniscono informazioni ad APPC.
mcsend.opcode = AP_M_SEND_DATA; mcsend.opext = AP_MAPPED_CONVERSATION; memcpy( mcsend.tp_id, tp_id, sizeof( tp_id ) ); mcsend.conv_id = conv_id; mcsend.dlen = datalen; mcsend.dptr = sharebufptr;
I valori AP_MAPPED_CONVERSATION e AP_M_SEND_DATA sono costanti simboliche che rappresentano numeri interi. Queste costanti sono definite in WINAPPC.H.
Richiamare la funzione APPC . L'unico parametro è un puntatore all'indirizzo della struttura contenente vcb per il verbo desiderato.
APPC ( ( long ) (void FAR * ) &mcsend );
Usare WinAsyncAPPC se si esegue l'applicazione in Windows versione 3. x.
Per chiamare WinAsyncAPPC:
HANDLE WINAPI WinAsyncAPPC (hWnd, 1pVCB)
Al termine dell'operazione asincrona, la finestra dell'applicazione hWnd riceve il messaggio restituito da RegisterWindowMessage con "WinAsyncAPPC" come stringa di input.
Usare le variabili restituite da APPC.
if( mcsend.primary_rc != AP_OK ) /* Do error routine */ . . .