'NMHDR definition conflict?
in richedit.h NMHDR is defined as follows:
typedef struct _nmhdr
{
HWND hwndFrom;
UINT idFrom;
UINT code;
} NMHDR;
in winuser.h, it is defined as :
typedef struct tagNMHDR
{
HWND hwndFrom;
UINT_PTR idFrom;
UINT code; // NM_ code
} NMHDR;
note that IdFrom went from being a UINT in richedit.h to a UINT_PTR in winuser.h
when compiling for 32bit that won't make a difference but, when compiling for 64bit, the winuser.h idFrom is going to be 4 bytes larger than the richedit.h idFrom.
I suspect that I must be missing something because a difference in size of 4 bytes between the two structures would have broken a fair amount of code out there but, I don't see how that conflict is resolved.
I would appreciate an explanation of how these two seemingly incompatible definitions can coexist. Thank you for your help.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
