Ausgeben eines APPC-Verbs
Das folgende Verfahren ist erforderlich, um ein blockierende APPC-Verb ausstellen zu können. Im Beispielcode wird das ausgegebene Verb MC_SEND_DATA.
So geben Sie ein blockierende APPC-Verb aus
Erstellen Sie eine Strukturvariable aus der VcB-Struktur (Verb Control Block), die für das ausstellende APPC-Verb gilt.
#include <winappc.h> . . struct mc_send_data mcsend; The VCB structures are declared in WINAPPC.H; one of these structures is: mc_send_data
Löschen Sie die Variablen innerhalb der VCB-Struktur (auf null festgelegt).
memset( mcsend, '\0', sizeof( mcsend ) );
Weisen Sie den VCB-Variablen Werte zu, die APPC-Informationen bereitstellen.
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;
Die Werte AP_MAPPED_CONVERSATION und AP_M_SEND_DATA sind symbolische Konstanten, die ganze Zahlen darstellen. Diese Konstanten sind in WINAPPC.H definiert.
Rufen Sie die APPC-Funktion auf. Der einzige Parameter ist ein Zeiger auf die Adresse der Struktur, die den VCB für das gewünschte Verb enthält.
APPC ( ( long ) (void FAR * ) &mcsend );
Verwenden Sie WinAsyncAPPC , wenn Sie die Anwendung unter Windows Version 3 ausführen. x.
So rufen Sie WinAsyncAPPC auf:
HANDLE WINAPI WinAsyncAPPC (hWnd, 1pVCB)
Wenn der asynchrone Vorgang abgeschlossen ist, empfängt das Fenster der Anwendung hWnd die von RegisterWindowMessage zurückgegebene Nachricht mit "WinAsyncAPPC" als Eingabezeichenfolge.
Verwenden Sie die Variablen, die von APPC zurückgegeben wurden.
if( mcsend.primary_rc != AP_OK ) /* Do error routine */ . . .