Эти typedefs возвращаются к 16-битным дням.Первоначально LPARAM
был long
(32-разрядный со знаком), а WPARAM
был WORD
(16-разрядный без знака), следовательно, W и L .Из-за обычной практики передачи приведенных указателей в качестве параметров сообщения WPARAM
был расширен до 32 бит на Win32, а оба LPARAM
и WPARAM
были расширены до 64 бит на Win64.
В C #,вы должны использовать IntPtr
для LPARAM
и UIntPtr
для WPARAM.
Обратите внимание, что, несмотря на префикс LP
, LPARAM
не является дальним указателем на ARAM
.