I was a little surprised to find that it was not anywhere near ready. I think the authors had assumed that the UNIX LP64 programming model is the same as the Windows 64-bit LLP64 programming model.
Variable sizes in 32/64-bit modes :
32bit LP64 LLP64
int 4 4 4
long 4 8 4
void * 4 8 8
HANDLE 4 8 8
Maybe it's the fact that in LLP64, the size of a long is different from LP64 that is confusing some development, but the compiler does help. With VS2005, if you try to put a pointer into a long it flags an error.
Another issue is HANDLE, which I have mentioned before.
I found hundreds of such errors when building this XML library. I think it will take a while for Windows developers of native code to catch up to VS2005 and then to catch up to 64-bit.