帮助在 C# 中封送 C 函数
我正在尝试从 C# 调用 C 函数。
以下是 C 头文件中的函数:
int __stdcall GetImageKN (unsigned short *ndat );
以及有关此函数的文档:
ndat :
灰度图像的指针 数据采集缓冲区。
始终安全 范围图像存储区域使用 应用程序。
的大小 范围图像数据存储区域应为:
160' 120'2 = 38400 字节
灰度值以 8 位形式返回 是 7 位的两倍。
如何调用该函数并读取图像数据?
谢谢,
SW
I'm trying to call a C function from C#.
Here is the function from the C header file :
int __stdcall GetImageKN (unsigned short *ndat );
And from the documentation about this function :
ndat :
Pointer of the grayscale image
data acquiring buffer.
Always secure
the range image storage area using the
application program.
The size of the
range image data storage area should be:
160’ 120 ‘2 = 38400 bytes
The
grayscales are returned as 8 bit that
is doubled from 7-bit.
How do I invoke this function and read the image data ?
Thanks,
SW
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
30Kb 是一个小缓冲区。如果您的函数运行速度很快,您可以依赖默认的封送行为并执行以下操作:
即使它可能会阻塞很长时间,如果您不在多个线程上同时调用此函数,您也可以摆脱这种情况。
30Kb is a small buffer. If your function runs quickly, you can rely on default marshaling behaviour and do this:
Even if it can block for a long time, you can get away with this if you don't call this function on many threads at once.