ULONG_PTR Method();

というCのコードがあったとして
C#でP/Invokeするときに

[DllImport...]
extern IntPtr Method();

と宣言しても

[DllImport...]
extern UIntPtr Method();

と宣言してもどっちでも使えるよってこと

>>463は.netの世界でのエラーの話だろ
int i = (int)uint.MaxValuel;
がコンパイルエラー出すのと同じ

Cで書かれたMethod()が0xFFFFFFFFFFFFFFFFを返してきた場合を考えてみても
ビット列としては同一で、IntPtrなら-1になるだけの話

UIntPtrを使う場面ないっしょというのは、intとuintを混在させて使うメリットないというのと同じ意味っす