前提・実現したいこと
VB.NETでGCHandleのアドレス取得処理を実装しています。取得したアドレスを、GCHandle.ToIntPtr()で変換しようとすると、エラーとなります。
エラーになった、値をToStringで確認したところ、アドレスには22兆を超える値が入っていました。
なぜこれほど大きな桁を取得してしまうのか、原因を知りたいと考えております。
というのも、私はWindows10環境で該当の処理を含んだツールを実行した場合に、この値を確認しているのですが、Winsows7での環境で実行したところ、Integerの範囲に収まる値を確認しています。
考えられる原因をご教授いただければ幸いです。
発生している問題・エラーメッセージ
算術演算の結果オーバーフローが発生しました
該当のソースコード
VB.NET
1Dim testList As New List(of InPtr) 2Dim listHandle As GCHandle = GCHandlw.Alloc(testList) 3 4MsgBox(GCHandle.ToIntPtr(listHandle))

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。