Question

When you have a LPCWSTR, why is it a Long Pointer? There's no Long in it's definition, as far as I know.

Can anybody explain?

Was it helpful?

Solution

'Long' is a leftover from Windows-16-bit. In the old days, on DOS and Windows 3.x, most apps were 16 bits and had 16-bit pointers. 32-bit pointers were 'long' and had to be specially declared, and used (in some DOS cases) selectors and not the flat address space.

OTHER TIPS

On 32-bit or greater machines, a long pointer is the same as any other pointer. The difference appears on machines with smaller native word sizes where you might have a 16-bit pointer and a 32-bit pointer type, for example. Usually they are called near and far pointers.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top