C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 31 を表示中)
■14996 / )  Re[1]: 構造体配列のマーシャリングについて
□投稿者/ myugaru (24回)-(2008/03/01(Sat) 02:20:40)
myugaru さんの Web サイト
No14988 (hanayama さん) に返信
IntPtrとか必要ありません。とりあえず答えを書いてしまいます。
わからなければ再度質問を投稿ください。


using System;
using System.Runtime.InteropServices;

namespace TestExe
{
    static class Program
    {
        [DllImport("TestDll.dll")]
        static extern int Test([In, Out]P_DATA[] pData);

        struct P_DATA
        {
            public int Stat;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
            public string Message;
        }

        [STAThread]
        static void Main(string[] args)
        {
            P_DATA[] data = new P_DATA[2];
            data[0].Stat = 0;
            data[0].Message = "aiueo\0";
            data[1].Stat = 1;
            data[1].Message = "kakikukeko\0";
            Test(data);
        }
    }
}

返信 編集キー/


管理者用

- Child Tree -