掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ポインタのキャストについて (ID:147325)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
質問失礼いたします。 以下のような構造体が二つあり、Struct2のポインタをStruct1のポインタへキャストする方法が分からなく困っています。 開発環境はOSがWindows7,VB2005です。 '構造体1 Public Structure STRUCT1 Dim wVersion As Short Dim funcCount As Integer End Structure '構造体2 Public Structure STRUCT2 Dim funcHeader As STRUCT1 Dim Function1 As CallBack1 Dim Function2 As CallBack2 End Structure Public Shared mStruct1 As STRUCT1 Public Shared mStruct2 As STRUCT2 Sub Main() Call Test() End Sub Sub Test() Dim mvStruct1Address As IntPtr Dim mvStruct2Address As IntPtr '構造体1に値をセット With mStruct1 .wVersion = &H100 .funcCount = 2 End With '構造体2に値をセット With mStruct2 .funcHeader = mStruct1 .Function1 = AddressOf SaveImages .Function2 = AddressOf PrintImages End With '構造体1のポインタを取得 mvStruct1Address = Marshal.AllocHGlobal(Marshal.SizeOf(mStruct1)) Marshal.StructureToPtr(mStruct1, mvStruct1Address, False) '構造体2のポインタを取得 mvStruct2Address = Marshal.AllocHGlobal(Marshal.SizeOf(mStruct2)) Marshal.StructureToPtr(mStruct2, mvStruct2Address, False) '構造体2のポインタを構造体1ポインタへのキャスト? End Sub VC++では、 (STRUCT1 *)&mStruct2 と書けばいいようなのですが、VB.NETで同様の処理を行うにはどうすればいいのでしょうか? もし知っている方がいらっしゃればご教授ください。 よろしくおねがいします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.