다음을 통해 공유


GetMsgProc 함수

-설명

SetWindowsHookExA/SetWindowsHookExW 함수와 함께 사용되는 애플리케이션 정의 또는 라이브러리 정의 콜백 함수입니다. GetMessage 또는 PeekMessageA/ PeekMessageW 함수가 애플리케이션 메시지 큐에서 메시지를 검색할 때마다 시스템에서 이 함수를 호출합니다. 검색된 메시지를 호출자에게 반환하기 전에 시스템은 메시지를 후크 프로시저에 전달합니다.

HOOKPROC 형식은 이 콜백 함수에 대한 포인터를 정의합니다. GetMsgProc 는 애플리케이션 정의 또는 라이브러리 정의 함수 이름의 자리 표시자입니다.

LRESULT CALLBACK GetMsgProc(
  _In_ int    code,
  _In_ WPARAM wParam,
  _In_ LPARAM lParam
);

-매개 변수

코드 [in]

형식: int

후크 프로시저에서 메시지를 처리해야 하는지 여부를 지정합니다. 코드HC_ACTION크 프로시저는 메시지를 처리해야 합니다. 코드가 0보다 작은 경우 후크 프로시저는 추가 처리 없이 CallNextHookEx 함수에 메시지를 전달해야 하며 CallNextHookEx에서 반환된 값을 반환해야 합니다.

wParam [in]

형식: WPARAM

메시지가 큐에서 제거되었는지 여부를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
PM_NOREMOVE 0x0000 메시지가 큐에서 제거되지 않았습니다. (라는 애플리케이션PM_NOREMOVE 플래그를 지정하는 PeekMessage 함수입니다.)
PM_REMOVE 0x0001 메시지가 큐에서 제거되었습니다. (호출 된 애플리케이션GetMessage 또는 PeekMessage 함수를 호출하여 PM_REMOVE 플래그를 지정합니다.)

lParam [in]

형식: LPARAM

메시지에 대한 세부 정보가 포함된 MSG 구조체에 대한 포인터입니다.

-반환

코드가 0보다 작은 경우 후크 프로시저는 CallNextHookEx에서 반환된 값을 반환해야 합니다.

코드가 0보다 크거나 같으면 CallNextHookEx를 호출하고 반환하는 값을 반환하는 것이 좋습니다. 그렇지 않으면 WH_GETMESSAGE 후크를 설치한 다른 애플리케이션은 후크 알림을 받지 않으며 결과적으로 잘못 동작할 수 있습니다. 후크 프로시저가 CallNextHookEx를 호출하지 않는 경우 반환 값은 0이어야 합니다.

-발언

GetMsgProc 후크 프로시저는 메시지를 검사하거나 수정할 수 있습니다.

후크 프로시저가 시스템에 컨트롤을 반환한 후 GetMessage 또는 PeekMessageA/PeekMessageW 함수는 수정 사항과 함께 메시지를 원래 호출한 애플리케이션에 반환합니다.

애플리케이션은 SetWindowsHookExA/SetWindowsHookExW 함수에 대한 호출에서 후크 프로시저에 대한 포인터와 WH_GETMESSAGE 후크 유형을 지정하여 이 후크 프로시저를 설치합니다.

참고 항목

CallNextHookEx

GetMessage

메시지

PeekMessage

SetWindowsHookEx

후크