다음을 통해 공유


비동기적으로 데이터 수신

Windows를 사용하는 경우 TP는 TP 내에서 발생하는 다른 이벤트와 관계없이 데이터를 비동기적으로 수신할 수 있습니다. 다음 표에서는 TP가 데이터를 비동기적으로 수신할 수 있는 메서드를 보여 줍니다. 또한 이 표는 데이터를 받는 것 이외의 작업에 비동기 메서드를 적용할 수 있는 방법을 나타냅니다.

운영 체제 메서드
윈도우즈 Windows 메시지를 통해:RECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAIT 명령을 WinAsyncAPPC에 발행합니다; 애플리케이션은 PostMessage를 통해 정의된 창 핸들에 완료 알림을 받습니다.

이 메서드는 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 제한되지 않지만 APPC 동사에 적용할 수 있습니다.
윈도우즈 Win32® 이벤트를 통해:WinAsyncAPPCExRECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAIT을(를) 수행하면 애플리케이션은 Win32 이벤트를 통해 완료를 알림받습니다.

이 메서드는 RECEIVE_AND_WAITMC_RECEIVE_AND_WAIT 제한되지 않지만 APPC 동사에 적용할 수 있습니다.
윈도우즈 RECEIVE_AND_POST 또는 MC_RECEIVE_AND_POST:RECEIVE_AND_POST 또는 MC_RECEIVE_AND_POST 동사를 실행합니다.

다음 목록에서는 데이터를 비동기적으로 수신하는 이러한 방법에 대한 세부 정보를 제공합니다. 자세한 내용은 동사 설명을 참조하세요.

RECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAITWinAsyncAPPC와 함께 사용하여
이 메서드를 사용하면 작업이 완료되면 애플리케이션에서 동사를 발급하고 PostMessage 를 통해 알림을 받을 수 있습니다. 창에 게시될 메시지 번호를 검색하려면 "WinAsyncAPPC"를 입력 문자열로 사용하여 RegisterWindowMessage 를 호출합니다. 그런 다음 WinAsyncAPPC 진입점을 사용하여 RECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAIT 발급합니다.

RECEIVE_AND_WAIT 또는 MC_RECEIVE_AND_WAITWinAsyncAPPCEx과 함께 사용하여
이 메서드를 사용하면 Win32 이벤트를 통해 애플리케이션에 알림을 받을 수 있습니다. 이는 여러 대화를 동시에 서비스해야 하는 애플리케이션을 작성할 때 특히 유용합니다. APPC에 전달될 때 이벤트는 비신호 상태여야 하며, 핸들은 이벤트에 대한 EVENT_MODIFY_STATE 액세스 권한을 가지고 있어야 합니다.

RECEIVE_AND_POST또는 MC_RECEIVE_AND_POST
RECEIVE_AND_POST 또는 MC_RECEIVE_AND_POST 사용하는 경우 애플리케이션은 Win32 이벤트를 통해 알림을 받습니다. APPC에 전달될 때 이벤트는 비신호 상태여야 하며 핸들에는 이벤트에 대한 EVENT_MODIFY_STATE 액세스 권한이 있어야 합니다.

데이터를 비동기적으로 수신하는 동안 TP는 이 대화와 관련이 없는 작업을 수행합니다. TP는 알림이 수신될 때까지 대부분의 APPC 동사를 발급할 수 없습니다. 발급할 수 있는 동사에 대한 정보를 보려면 WinAsyncAPPC 또는 WinAsyncAPPCEx에 대한 설명을 참조하세요.

동사가 비동기적으로 완료된 후 primary_rc 확인하여 데이터가 오류 없이 수신되었는지 확인합니다.

비고

초기 호출이 동사 발급에 성공적으로 반환되면, 동사가 최종적으로 성공하든 실패하든 관계없이 동사가 완료되었을 때 해당 메서드를 통해 애플리케이션에 알림이 보장됩니다.