APPC Verb の発行
ブロックしている APPC 動詞を発行するには、次の手順が必要です。 サンプル コードでは、発行される動詞が MC_SEND_DATAされます。
ブロックしている APPC 動詞を発行するには
発行する APPC 動詞に適用される動詞制御ブロック (VCB) 構造体から構造体変数を作成します。
#include <winappc.h> . . struct mc_send_data mcsend; The VCB structures are declared in WINAPPC.H; one of these structures is: mc_send_data
VCB 構造体内の変数をクリア (ゼロに設定) します。
memset( mcsend, '\0', sizeof( mcsend ) );
APPC に情報を提供する VCB 変数に値を割り当てます。
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;
AP_MAPPED_CONVERSATION値とAP_M_SEND_DATAは、整数を表すシンボリック定数です。 これらの定数は WINAPPC.H で定義されます。
APPC 関数を呼び出します。 唯一のパラメーターは、目的の動詞の VCB を含む構造体のアドレスへのポインターです。
APPC ( ( long ) (void FAR * ) &mcsend );
Windows バージョン 3 でアプリケーションを実行している場合は、 WinAsyncAPPC を使用します。x。
WinAsyncAPPC を呼び出すには:
HANDLE WINAPI WinAsyncAPPC (hWnd, 1pVCB)
非同期操作が完了すると、アプリケーションのウィンドウ hWnd は、 RegisterWindowMessage によって返されたメッセージを、入力文字列として "WinAsyncAPPC" と共に受け取ります。
APPC によって返された変数を使用します。
if( mcsend.primary_rc != AP_OK ) /* Do error routine */ . . .