저 하늘의 구름처럼~

lparam,wparam의 용도는 무엇인가? 본문

WIN32 API

lparam,wparam의 용도는 무엇인가?

강백호v 2009. 1. 19. 09:02

인터넷에서 어느 한 카페에서 이에 관해서 간략한 글을 보았다. 윈도우는 메시지 방식으로 프로그램이 구동하게 되고, WPARAM 이나 LPARAM은 모두 마이크로 소프트에서 지정해 놓은 형식으로써, 구체적으로 어떤 정보인지는 정확히는 아는 사람이 없다는 것으로 되어 있었다.
그리고, WPARAM은 자주 쓰이는 정보를, LPARAM은 추가 정보를 기술하도록 되어 있다고 한다.
더 나아가, 어떠한 형태인지 알아 보기 위해서 WPARAM과 LPARAM의 정의를 따라가 보면,
wparam,lparam의 정의를 따라 가보면, typedef UINT_PTR wparam;이라고 선언되어 있고, 다시 UINT_PTR을 따라 들어가보면, typedef _W64 unsigned int UINT_PTR;이라고 선언되어 있다. 다시 _W64는 #define _W64 __W64라는 것으로 정의되어 있다. __W64를 msdn에서 찾아보게 되면,
The __w64 modifier should be specified on any typedefs that change size between 32 bit and 64 bit platforms. For any such type, __w64 should appear only on the 32-bit definition of the typedef
이라고 되어 있었다. 짧은 영어 실력으로 번역해보면,The __W64 는 typedef에 의해서 32bit 플랫폼과 64bit 플랫폼 사이에 사이즈 변경에대 한 수정이 가능하게하는 것이다.이와 같은 타입은 오직 32 bit플랫폼에서만 나타나는 정의이다라고 해석 될수 있다.한 마디로 요약하면, 32비트와 64비트 플랫폼 사이의
호환성을 위한 정의 인것 같다.