发出 APPC 谓词
需要执行以下过程才能发出阻止的 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 */ . . .