다음을 통해 공유


APPC 동사 발급

차단 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 구조 내에서 변수를 지웁니다(0으로 설정).

    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)  
    

    비동기 작업이 완료되면 애플리케이션의 창 hWndRegisterWindowMessage 에서 "WinAsyncAPPC"가 입력 문자열로 반환된 메시지를 받습니다.

  5. APPC에서 반환된 변수를 사용합니다.

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