다음을 통해 공유


InSendMessageEx 함수(winuser.h)

현재 창 프로시저가 다른 스레드(동일한 프로세스 또는 다른 프로세스)에서 보낸 메시지를 처리하고 있는지 여부를 확인합니다.

구문

DWORD InSendMessageEx(
  LPVOID lpReserved
);

매개 변수

lpReserved

형식: LPVOID

예약; 은 NULL이어야 합니다.

반환 값

형식:DWORD

메시지를 보내지 않으면 반환 값이 ISMEX_NOSEND(0x00000000 )됩니다. 그렇지 않으면 반환 값은 다음 값 중 하나 이상입니다.

반환 코드/값 설명
ISMEX_CALLBACK
0x00000004
SendMessageCallback 함수를 사용하여 메시지를 보냈습니다. 메시지를 보낸 스레드가 차단되지 않습니다.
ISMEX_NOTIFY
0x00000002
SendNotifyMessage 함수를 사용하여 메시지를 보냈습니다. 메시지를 보낸 스레드가 차단되지 않습니다.
ISMEX_REPLIED
0x00000008
창 프로시저에서 메시지를 처리했습니다. 메시지를 보낸 스레드가 더 이상 차단되지 않습니다.
ISMEX_SEND
0x00000001
SendMessage 또는 SendMessageTimeout 함수 사용하여 메시지를 보냈습니다. ISMEX_REPLIED 설정되지 않으면 메시지를 보낸 스레드가 차단됩니다.

설명

발신자가 차단되었는지 확인하려면 다음 테스트를 사용합니다.

fBlocked = ( InSendMessageEx(NULL) & (ISMEX_REPLIED|ISMEX_SEND) ) == ISMEX_SEND;

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll
API 세트 ext-ms-win-ntuser-message-l1-1-0(Windows 8에 도입됨)

추가 정보

개념

메시지 및 메시지 큐

참조

SendMessage

SendMessageCallback

SendMessageTimeout

SendNotifyMessage