Yes, the fact that Windows does all this LPSOMETHING nonsense because of Microsoft's early adoption of
Hungarian Notation. "LP" means "long pointer", the "long" part not really meaning anything anymore (it had meaning in the old days when PC memory addressing wasn't flat - there were "near" and "far" pointers which were addressed differently).
Personally, I find "Systems Hungarian Notation" to be a very bad idea, because it obscures the real types of things and makes the programmer have learn yet another nomenclature instead of just having the proper C type so it's clear (eg., we all know what * is if we program C at all, but most of us wouldn't know what LP is if we've never programmed on Windows!)
- Casey