MarshalAs(UnmanagedType.ByValArray, SizeConst 大小限制

发布于 2025-01-07 13:51:28 字数 166 浏览 0 评论 0原文

谁知道如果 MarshalAs(UnmanagedType.ByValArray, SizeConst

SizeCount 当封送处理有大小限制时。 我发现如果 Size 大则 100000,则编组函数调用不起作用,而当我输入 10000 时,该函数正在工作。

有人知道为什么吗?

anyone know if the
MarshalAs(UnmanagedType.ByValArray, SizeConst

SizeCount when do marsheling has size limitation.
i see that if the Size large then 100000 the marsheling function calling is not working and when i put 10000 the function is working.

anybody know why ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暖伴 2025-01-14 13:51:28

正如 Hans Passant 所说,有 64K 限制,我不知道为什么。
您始终可以使用 Marshal.AllocHGlobal 和 Marshal.PtrToStructure/Marshal.StructureToPtr 尝试另一种方法。不过,我不知道你是否可以这样处理;如果没有,则必须逐段写入数据,然后将指向已分配块的指针传递给 API 函数。

As Hans Passant says, there is a 64K limit and I don't know why.
You can always try another approach with Marshal.AllocHGlobal and Marshal.PtrToStructure/Marshal.StructureToPtr. However, I don't know if you can handle it that way; if not, you must write data piece by piece then pass the pointer to the allocated block to the API function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文