Макросы HIWORD и LOWORD выделяют старшее и младшее 16-разрядные слова из 32-разрядного беззнакового целого, называемого также «двойным словом», или DWORD.
Макросы определены в windows.h следующим образом:
WORD HIW0RD(DWORD dwVal); WORD L0W0RD(DW0RD dwVal);
dwVal — беззнаковое 32-разрядное значение, из которого выделяются старшее и младшее 16-разрядные слова.
Совет. Для доступа к отдельным байтам 32-разрядного двойного слова передавайте результат HIWORD или LOWORD макросам HIBYTE или LOBYTE.