WinAsyncAPPCEx 함수는 모든 APPC 동사에 대한 비동기 진입점을 제공합니다. 동사의 차단 버전 대신 이 함수를 사용하여 이벤트를 사용하여 동일한 스레드에서 여러 세션을 처리할 수 있습니다. 이 동사는 Microsoft Windows에서만 지원되며 Win32® 이벤트를 사용합니다.
구문
HANDLE WINAPI WinAsyncAPPCEx(
HANDLEevent_handle,
longlpVcb);
매개 변수
event_handle
Win32 이벤트를 사용하여 이벤트 알림에 사용되는 핸들입니다.
lpVcb
동사 제어 블록에 대한 포인터입니다.
반환 값
반환 값은 비동기 확인 요청이 성공했는지 여부를 지정합니다. 함수가 성공한 경우 반환 값은 비동기 작업 핸들입니다. 함수가 성공하지 못하면 0이 반환됩니다.
이 함수가 성공적인 값으로 반환되는 경우 이는 APPC 호출이 궁극적으로 성공적으로 반환된다는 것을 의미하지는 않습니다. APPC 라이브러리가 알림을 위해 이벤트를 사용하여 APPC 호출을 비동기적으로 시도할 수 있음을 나타냅니다.
설명
이 함수는 Win32 API에서 WaitForSingleObject 또는 WaitForMultipleObjects 와 함께 사용하기 위한 것입니다. 이러한 함수는 Microsoft Platform SDK 설명서의 "참조" 섹션에 설명되어 있습니다.
다중 스레드 TP에서 이 동사를 사용하는 방법에 대한 예제는 다중 스레드 송신 및 수신 샘플 TP(MRCV)를 참조하세요. C, MSEND. C 및 MSENDRCV. SDK에 포함된 MSENDRCV 폴더에 있는 C입니다.
차단할 수 있는 기본 대화에 사용되는 APPC 동사는 다음과 같습니다.
-
차단할 수 있는 매핑된 대화에 사용되는 APPC 동사는 다음과 같습니다.
-
동사의 동기 또는 비동기 버전을 사용하는 경우 애플리케이션은 대화에서 한 번에 하나의 미해결 함수만 진행할 수 있습니다. 두 번째 함수를 시작하려고 하면 오류 코드가 AP_CONV_BUSY.
참고
앞의 단락에 대한 예외는 RECEIVE_AND_POST, MC_RECEIVE_AND_POST, RECEIVE_AND_WAIT 및 MC_RECEIVE_AND_WAIT.
참고
비동기 지원을 완전히 사용할 수 있도록 비동기적으로 발급된 RECEIVE_AND_WAIT 및 MC_RECEIVE_AND_WAIT 동사가 RECEIVE_AND_POST 및 MC_RECEIVE_AND_POST 동사처럼 작동하도록 변경되었습니다. 특히 이러한 동사 중 하나의 비동기 버전은 미해결 상태이지만 동일한 대화에서 다음 동사를 실행할 수 있습니다.
DEALLOCATE (AP_ABEND_PROG, AP_ABEND_SVC 또는 AP_ABEND_TIMER)
참고
따라서 애플리케이션, 특히 서버 애플리케이션은 비동기 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 사용할 수 있습니다. 이 기능은 전체 비동기 지원, 특히 동일한 스레드에서 여러 대화를 지원하기 위해 사용하는 것이 좋습니다.
비동기 작업이 완료되면 애플리케이션은 이벤트 신호를 통해 알림을 받습니다. 이벤트 신호를 받으면 동사 제어 블록에서 APPC 기본 반환 코드 및 보조 반환 코드를 검사하여 오류 조건을 확인합니다.