SendMessageCallbackA 함수(winuser.h)

지정된 메시지를 창 또는 창으로 보냅니다. 지정된 창에 대한 창 프로시저를 호출하고 창이 다른 스레드에 속하는 경우 즉시 를 반환합니다. 창 프로시저가 메시지를 처리한 후 시스템은 지정된 콜백 함수를 호출하여 메시지 처리 결과와 애플리케이션 정의 값을 콜백 함수에 전달합니다.

구문

BOOL SendMessageCallbackA(
  [in] HWND          hWnd,
  [in] UINT          Msg,
  [in] WPARAM        wParam,
  [in] LPARAM        lParam,
  [in] SENDASYNCPROC lpResultCallBack,
  [in] ULONG_PTR     dwData
);

매개 변수

[in] hWnd

형식: HWND

창 프로시저에서 메시지를 받을 창에 대한 핸들입니다. 이 매개 변수가 HWND_BROADCAST ((HWND)0xffff 경우 비활성 또는 보이지 않는 소유되지 않은 창, 겹친 창 및 팝업 창을 포함하여 시스템의 모든 최상위 창으로 메시지가 전송됩니다. 하지만 메시지는 자식 창으로 전송되지 않습니다.

[in] Msg

형식: UINT

보낼 메시지입니다.

시스템 제공 메시지 목록은 시스템 정의 메시지를 참조하세요.

[in] wParam

형식: WPARAM

추가 메시지 관련 정보입니다.

[in] lParam

형식: LPARAM

추가 메시지 관련 정보입니다.

[in] lpResultCallBack

형식: SENDASYNCPROC

창 프로시저에서 메시지를 처리한 후 시스템에서 호출하는 콜백 함수에 대한 포인터입니다. 자세한 내용은 SendAsyncProc을 참조하세요.

hWndHWND_BROADCAST((HWND)0xffff 경우 시스템은 각 최상위 창에 대해 SendAsyncProc 콜백 함수를 한 번 호출합니다.

[in] dwData

형식: ULONG_PTR

lpCallBack 매개 변수가 가리키는 콜백 함수로 보낼 애플리케이션 정의 값입니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

대상 창이 호출자와 동일한 스레드에 속하는 경우 창 프로시저가 동기적으로 호출되고 창 프로시저가 반환된 직후 콜백 함수가 호출됩니다. 대상 창이 호출자와 다른 스레드에 속하는 경우 SendMessageCallback이라는 스레드가 GetMessage, PeekMessage 또는 WaitMessage를 호출하는 경우에만 콜백 함수가 호출됩니다.

아래 범위의 메시지를 비동기 메시지 함수(PostMessage, SendNotifyMessageSendMessageCallback)에 WM_USER 보내는 경우 해당 메시지 매개 변수에는 포인터가 포함될 수 없습니다. 그렇지 않으면 작업이 실패합니다. 수신 스레드가 메시지를 처리할 기회가 있기 전에 함수가 반환되고 발신자는 메모리가 사용되기 전에 해제됩니다.

HWND_BROADCAST 사용하여 통신해야 하는 애플리케이션은 RegisterWindowMessage 함수를 사용하여 애플리케이션 간 통신에 대한 고유한 메시지를 가져와야 합니다.

시스템은 시스템 메시지(범위 0에서 (WM_USER-1)에 대한 마샬링만 수행합니다. 다른 메시지(해당 >메시지 = WM_USER)를 다른 프로세스로 보내려면 사용자 지정 마샬링을 수행해야 합니다.

참고

winuser.h 헤더는 SENDMessageCallback을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 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 도입)

추가 정보

개념

메시지 및 메시지 큐

PostMessage

참조

RegisterWindowMessage

SendAsyncProc

SendMessageCallback

SendNotifyMessage