Q. PVOID64 ってなあに?

A. 64 bit OS のポインタと 32 bit OS のポインタの互換性をふんにゃかするための型

PVOID64 ってのは、みればさ、void のポインタなんだろうな〜ってことはわかるよね。
まあ、定義を見てみよう。
PVOID64 は、WinNT.h(Platform SDK に入ってた) の 222 行目に書いてある:

typedef     void*                PVOID;
typedef     void* POINTER_64     PVOID64;

PVOIDPVOID64 の違いは、POINTER_64 の有無なわけだね〜。
この POINTER_64 は、`BaseTsd.h' でこんな風に定義されてる:

#if (_MSC_VER >= 1300) /* まだあるけど省略 */
#   define     POITNER_64    __ptr64
#else
#   define     POITNER_64
#endif

まとめ

PVOID64 とは、「void* __ptr64」か「void*」ってことらしい。
__ptr64 は、 64 bit OS のネイティブポインタを表すらしく、VC++ 2005 のときは
これがウザかったもんだった。

でも、2008 になったら、そんなことはなかったぜ!