다음을 통해 공유


SendMessageCallbackW 함수(winuser.h)

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

통사론

BOOL SendMessageCallbackW(
  [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

보낼 메시지입니다.

시스템 제공 메시지 목록은 System-Defined 메시지참조하세요.

[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호출하는 경우에만 호출됩니다.

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

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

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

메모

winuser.h 헤더는 SENDMessageCallback을 UNICODE 전처리기 상수의 정의에 따라 이 함수의 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