Amplifying what Disch said, sometimes you'll see the term 'Opaque Pointer'. Meaning something to the effect that you can't really clearly see what its pointing at. Only Windows knows that.
I believe somewhere deep within the Windows headers its ultimately typedefed of defined as a void*.
One thing about it, as Disch said, is that its oftentimes passed to various Api functions that work with a window in some way, and I don't believe I've ever seen it as anywhere but in the first position as a function parameter. In many ways its very much like C++'s 'this' pointer. That analogy actually works very well. The HWND parameter identifies the actual instance of some Window Class to which some operation is to be performed, as is exactly the case with the implicit 'this' pointer. And while mulling over that, consider too that when doing OOP in C as opposed to C++, one calls methods in exactly that fashion, i.e., one passes the 'this' pointer to the method explicitely as the 1st parameter. Then add to that, that Microsoft's Windows interface is indeed C based, that is, C based OOP. So there you have possibly the true significanse of HWNDs.
Do you know exactly where that's at in the headers DeXecipher? Seems I've looked but never found it. Which one is it in? I think my knowledge of it being ultimately defined as a void* came from other posters in this forum.
I've seen it somewhere too - it is a macro wrapped in a macro - I'll look it up as well if I can find it (intellisense should find it no problem) - I also believe it might also have some windows version dependencies.
Using intellisense from MSVC2012 (with SDK 8.0 installed) - sends me to this line in Windef.h header