この MSDN 記事で説明されているように、Microsoft には、異なるアーキテクチャでネイティブ ポインターを宣言するためのこれら 2 つの型注釈があります。ただし、2 行目では次のようになります。
32 ビット システムでは、__ptr64 で宣言されたポインターは 32 ビット ポインターに切り捨てられます。64 ビット システムでは、__ptr32 で宣言されたポインターは 64 ビット ポインターに強制されます。
これは、宣言が重要ではないように思えます。とにかく、アーキテクチャが __ptrXX の宣言をオーバーライドしてデフォルトにする場合、そもそも __ptrXX をマークするポイントは何ですか?
この回答は相互運用のためであると言っていますが、上記のように宣言が本質的にオーバーライドされている場合、それは相互運用にどのように役立ちますか?