LPARAM 및 WPARAM의 정의는 무엇입니까?
여기에서 게으르다는 것을 알고 헤더 파일을 직접 트롤해야하지만 LPARAM 및 WPARAM 매개 변수의 실제 유형은 무엇입니까? 포인터입니까, 아니면 4 바이트 정수입니까? 일부 C # interop 코드를 수행 중이며 x64 시스템에서 작동하는지 확인하고 싶습니다.
LPARAMwin32 LONG_PTR에서는 long(서명 된 32 __int64비트), x86_64에서는 (서명 된 64 비트) typedef입니다 .
WPARAMwin32 UINT_PTR에서는 unsigned int(부호없는 32 unsigned __int64비트), x86_64에서는 (부호없는 64 비트) typedef입니다 .
이러한 typedef는 16 비트로 거슬러 올라갑니다. 원래 LPARAM있던 long(32 비트 서명)과 WPARAM이었다 WORD따라서, (부호없는 16 비트) W 및 L . 인해 메시지 파라미터로서 주조 포인터를 전달하는 것이 일반적으로, WPARAM는 Win32를 32 비트로 확장하고, 양 LPARAM및 WPARAMWin64를 64 비트로 확장 하였다.
C #에서는 IntPtrfor LPARAM및 UIntPtrfor WPARAM 을 사용해야합니다 .
LP접두어 에도 불구하고 LPARAM는 ARAM.
LPARAM은 LONG_PTR을, WPARAM은 UINT_PTR을 나타냅니다.
x86에서는 4 바이트이고 x64에서는 8 바이트입니다.
typedef UINT_PTR WPARAM;
typedef LONG_PTR LPARAM;
내 친구가 필요한 것은 http://www.pinvoke.net/
참고 URL : https://stackoverflow.com/questions/2515261/what-are-the-definitions-for-lparam-and-wparam
'Program Club' 카테고리의 다른 글
| setOnCancelListener 및 setOnDismissListener는 뒤로 버튼을 누르거나 외부를 터치하는 경우 AlertDialog에 대해 호출되지 않습니다. (0) | 2020.12.14 |
|---|---|
| 원격 저장소에 변경 사항을 푸시 할 때이 Git 경고 메시지는 무엇입니까? (0) | 2020.12.14 |
| 파이썬에서 문자열에서 ° 문자를 얻는 방법은 무엇입니까? (0) | 2020.12.14 |
| jQuery Sortable-여러 목록 항목 선택 및 드래그 (0) | 2020.12.14 |
| VB msgbox ()에서 \ n 새 줄을 사용하는 방법…? (0) | 2020.12.14 |