时间:2019-03-17 标签:c#pinvokemarshallstruct
我有一个非托管结构,我想封送到 C#,它基本上如下所示:
struct DateTimeStruct{
double datetimestamp;
};
struct MyStruct{
char firstname[40];
char lastname[40];
DateTimeStruct bday;
unsigned integer bool1;
int val1;
};
正确的 C# 声明是什么?
I have an unmanaged struct I'd like to marshal to c# that looks basically like this:
struct DateTimeStruct{
double datetimestamp;
};
struct MyStruct{
char firstname[40];
char lastname[40];
DateTimeStruct bday;
unsigned integer bool1;
int val1;
};
What is the the correct c# declaration?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
该结构不是问题,它将按原样正确编组。
当然,您可以将双精度值转换为匹配的 DateTime 值。从你的问题中无法猜测它是如何编码的。
The struct isn't a problem, it will marshal correctly as-is.
Of course, it will be up to you to convert the double to a matching DateTime value. How it is encoded is unguessable from your question.