WinAsyncAPPC
WinAsyncAPPC 함수는 모든 APPC 동사에 대한 비동기 진입점을 제공합니다. 애플리케이션을 실행하고 비동기 동사 완성을 위해 Windows 핸들을 사용하여 메시지 게시를 사용하려는 경우 동사의 차단 버전 대신 이 함수를 사용합니다.
구문
HANDLE WINAPI WinAsyncAPPC(
HANDLE hWnd,
Long lpVcb
);
매개 변수
hWnd
APPC 동사가 완료될 때 애플리케이션에 알리기 위해 메시지 게시에 사용되는 창 핸들입니다.
lpVcb
동사 제어 블록에 대한 포인터입니다.
반환 값
반환 값은 비동기 요청이 성공했는지 여부를 지정합니다. 함수가 성공한 경우 반환 값은 비동기 작업 핸들입니다. 함수가 성공하지 못하면 0이 반환됩니다.
이 함수가 성공적인 값으로 반환되는 경우 이는 APPC 호출이 궁극적으로 성공적으로 반환된다는 것을 의미하지는 않습니다. APPC 라이브러리가 알림을 위해 메시지 게시를 사용하여 APPC 호출을 비동기적으로 시도할 수 있음을 나타냅니다.
설명
TP(트랜잭션 프로그램)에서 이 동사를 사용하는 방법에 대한 예제는 SENDRECV(송신 및 수신 샘플 TP)를 참조하세요. APPC 폴더에 있는 C) SDK에 포함됩니다.
차단할 수 있는 기본 대화에 사용되는 APPC 동사는 다음과 같습니다.
-
차단할 수 있는 매핑된 대화에 사용되는 APPC 동사는 다음과 같습니다.
-
동사의 동기 또는 비동기 버전을 사용하는 경우 애플리케이션은 대화에서 한 번에 하나의 미해결 함수만 진행할 수 있습니다. 두 번째 함수를 시작하려고 하면 오류 코드가 AP_CONV_BUSY.
이전 단락의 예외는 다음과 같습니다.
-
비동기 지원을 완전히 사용할 수 있도록 비동기적으로 발급된 RECEIVE_AND_WAIT 및 MC_RECEIVE_AND_WAIT 동사가 RECEIVE_AND_POST 및 MC_RECEIVE_AND_POST 동사처럼 작동하도록 변경되었습니다. 특히 이러한 동사 중 하나의 비동기 버전은 미해결 상태이지만 동일한 대화에서 다음 동사를 실행할 수 있습니다.
DEALLOCATE (AP_ABEND_PROG, AP_ABEND_SVC 또는 AP_ABEND_TIMER)
-
따라서 애플리케이션, 특히 5250 에뮬레이터는 비동기 RECEIVE_AND_WAIT 사용하거나 MC_RECEIVE_AND_WAIT 데이터를 수신할 수 있습니다. RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAIT 뛰어난 SEND_ERROR 사용하거나 MC_SEND_ERROR REQUEST_TO_SEND 또는 MC_REQUEST_TO_SEND 사용할 수 있습니다. 전체 비동기 지원에 이 기능을 사용하는 것이 좋습니다.
비동기 작업이 완료되면 애플리케이션의 창 hWnd 는 RegisterWindowMessage 에서 반환된 메시지를 입력 문자열로 "WinAsyncAPPC"와 함께 받습니다. wParam 인수에는 원래 함수 호출에서 반환된 비동기 작업 핸들이 포함됩니다. lParam 인수에는 원래 VCB 포인터가 포함되어 있으며 역참조하여 최종 반환 코드를 확인할 수 있습니다.
Windows APPC 정의의 일부로 WinAPPCCancelAsyncRequest 를 사용하면 애플리케이션이 비동기 APPC 작업을 취소할 수 있습니다. 는 관련 대화 또는 TP를 적절하게 종료합니다. 미해결 작업은 AP_CANCELED 반환 코드로 반환됩니다.
함수가 성공적으로 반환되면 작업이 완료되거나 대화가 취소될 때 WinAsyncAPPC 메시지가 애플리케이션에 게시됩니다.