我是靠谱客的博主 如意花生,最近开发中收集的这篇文章主要介绍c# char unsigned,C#编组的char **和unsigned char型**,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Here is the problem - i have some C image processing library that i need to use from C# application. Lack of experience with DllImport strikes me hard for now.

The function i need to use looks like:

IMAGEPROCESS_API const int importImage

(

const unsigned char* image,

const char* xmlInput,

unsigned char** resultImage,

char** xmlOutput

);

So, it accepts raw image data, xml containing parameters and image width'height and then return processed image and some xml report.

For now im trying to approach it like this:

[DllImport("imageprocess.dll",CallingConvention = CallingConvention.StdCall,EntryPoint = "importImage",CharSet=CharSet.Ansi)]

private static extern int ImportImageNative(IntPtr imageData, String xmlDescriptor, out IntPtr processedImage, out IntPtr xmlOut);

but without any success.

Any suggestions how should it be done?

Edit:

still no luck ((

done it by messy C++ CLI for now

解决方案

For the output parameters, you should access the returned data using Marshal.PtrToStringAnsi.

Since the original memory was allocated within the unmanaged API, it's still your responsibility to free it as appropriate.

I also think that you should use String on both the first two parameters, not sure why the first one is an IntPtr?

最后

以上就是如意花生为你收集整理的c# char unsigned,C#编组的char **和unsigned char型**的全部内容,希望文章能够帮你解决c# char unsigned,C#编组的char **和unsigned char型**所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部