需要下列程式,才能發出封鎖的APPC動詞命令。 在範例程式代碼中,發出的動詞 是MC_SEND_DATA。
發出封鎖APPC指令
從動詞控制塊(VCB)結構中建立結構變數,以適用於要發出的APPC動詞。
#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 */ . . .