編集(投稿者)<pre><pre>いつもありがとうございます。VB6.0からVB.NETに変換したのですが、RtlMoveMemoryの部分でうまくいきませんでした。調べてみると、型指定なしのAnyが理由というところまではわかりましたので、型を明示するように変更しました。Len(bmi))-------------------------------------------------このような変更でよいのでしょうか?また、上記の変更でこの部分はうまくいくようになったのですが、同じことを他の部分にやろうとすると、エラーが起こります。19:26:17)解決はしたのですが、IntPtrだけをCopyMemoryに変更すればできてしまったのですが、これが良い方法なのか、邪道なのかがわかりません。Longがまずいと思います。IntPtrを使いましょう。(それにあわせてGlobalLockのDeclareも修正がたぶん必要になるでしょう)ちなみにVB6のLongは32bit、.NETのLongは64bitです。上記の変更でこの部分はうまくいくようになったのですが、同じことを他の部分にやろうとすると、エラーが起こります。ないため、オーバーロードの解決に失敗しました:先の提示コードと同じような形であればhandle_RenamedがLong型だから、ぴったりのオーバーロードが見つからないためでしょう。返信なるほど!型違いですか!たしかにLong型をIntPtrに変換できるので、動くには動いていたが、ぴったり一致ではなかったので、変なエラーが出てたんですね。ありがとうございました。APIを使う代わりにMarshalクラスが使えると思います。Marshalクラスhttp://msdn2.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal_members(VS.80).aspx今回の内容なら以下のメソッドでしょうか。