次の方法で共有


APPC Verb の発行

ブロックしている APPC 動詞を発行するには、次の手順が必要です。 サンプル コードでは、発行される動詞が MC_SEND_DATAされます。

ブロックしている APPC 動詞を発行するには

  1. 発行する 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  
    
  2. VCB 構造体内の変数をクリア (ゼロに設定) します。

    memset( mcsend, '\0', sizeof( mcsend ) );  
    
  3. 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 で定義されます。

  4. APPC 関数を呼び出します。 唯一のパラメーターは、目的の動詞の VCB を含む構造体のアドレスへのポインターです。

    APPC ( ( long ) (void FAR * ) &mcsend );  
    

    Windows バージョン 3 でアプリケーションを実行している場合は、 WinAsyncAPPC を使用します。x

    WinAsyncAPPC を呼び出すには:

    HANDLE WINAPI WinAsyncAPPC (hWnd, 1pVCB)  
    

    非同期操作が完了すると、アプリケーションのウィンドウ hWnd は、 RegisterWindowMessage によって返されたメッセージを、入力文字列として "WinAsyncAPPC" と共に受け取ります。

  5. APPC によって返された変数を使用します。

    if( mcsend.primary_rc != AP_OK )   
    /* Do error routine */  
        .  
        .  
        .