簡體   English   中英

C#Pinvoke Marshall結構

[英]c# pinvoke marshall struct

我有一個非托管的結構,我想編組到C#,基本上看起來像這樣:

struct DateTimeStruct{
   double datetimestamp;
};   

struct MyStruct{
   char firstname[40];
   char lastname[40];
   DateTimeStruct bday;
   unsigned integer bool1;
   int val1;
};

正確的C#聲明是什么?

該結構不是問題,它將按原樣正確封送。

    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
    struct MyStruct{
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40]
        string firstname;
        [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 40]
        string lastname;
        DateTimeStruct bday;
        uint bool1;
        int val1;
    }

當然,將double轉換為匹配的DateTime值取決於您。 從您的問題來看,如何編碼是毫無疑問的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM