marshalling相关内容

从C#.NET调用非托管DLL所需的教程

我有一个供应商提供的DLL,需要从C#调用.我知道C#数据类与C ++数据类型不直接兼容. 因此,假设我有一个接收数据并返回“字符串"的函数. (像这样) string answer = CreateCode2(int, string1, uint32, string2, uint16); 我该怎么做才能使输入参数兼容,然后使结果字符串兼容? 请-我从未做过:不要给出诸 ..
发布时间:2020-05-06 04:22:36 其他开发

C#中的DWORD和VARTYPE等效

我正在使用包含以下方法的API: BOOL GetItemPropertyDescription (HANDLE hConnect, int PropertyIndex, DWORD *pPropertyID, VARTYPE *pVT, BYTE *pDescr, int BufSize); BOOL ReadPropertyValue (HANDLE hConnect, LPCSTR I ..
发布时间:2020-05-06 04:22:30 C#/.NET

将jlist的菜单项编组为XML并解组加载菜单项

我一直在这里进行研究,并一直在寻找解决问题的方法.我是Java新手,所以我不了解所有语法.我正在尝试获取代码,以从保存和加载菜单项的create方法转移项. save事件处理程序应调用方法save()并将右侧面板中的零件列表保存到XML文件.加载事件处理程序应调用方法load(),并应在右侧面板中显示未编组的数据.我对JAXB或XML都不熟悉.我试图看看是否有人做过类似的事情,但是我无法完成代码. ..
发布时间:2020-05-06 04:22:22 Java开发

C#:使用char **参数调用C ++ DLL

我想从我的C#代码中调用此C ++函数: void GetArrayOfNames(char** names, int nbOfNames); 要在C ++中调用它,我只需定义一个char *数组: char* aNames[20]; 并在循环中分配每个名称: for(int i-0; i ..
发布时间:2020-05-06 04:22:17 C#/.NET

C#:具有自定义编组器的对象在PInvoke调用后不包含数据

我在调用一些接受WAVEFORMATEX结构作为参数的WinAPI函数时遇到了问题.由于WAVEFORMATEX结构的长度可以变化,因此我实现了一个WaveFormatEX类,该类由自定义编组器类(实现ICustmoMarshaller)编组.这是Aaron Lerch在其博客(当我从代码中调用API函数时,将调用自定义编组器的方法MarshalManagedToNative和MarshalNat ..
发布时间:2020-05-06 04:22:15 C#/.NET

org.omg.CORBA.MARSHAL:服务器端异常:null

我正在尝试注册CORBA CosNotification服务.在我要连接的服务的文档中,它说我必须连接到CosNotifyComm::SequencePushConsumer对象,并将其附加到通知服务.我已经包含了我的代码,而我又得到了错误. AlarmClient.java import NotificationIRPSystem.*; import org.omg.CosNotif ..
发布时间:2020-05-06 04:22:01 其他开发

班级人数错误

将字节数组转换为类或结构时遇到问题. 该类是这样的: [Serializable()] [StructLayout(LayoutKind.Sequential, Pack = 1, CharSet = CharSet.Ansi)] public class General { [MarshalAs(UnmanagedType.ByValArray, SizeConst = Defin ..
发布时间:2020-05-06 04:21:55 C#/.NET

C#pinvoke封送处理工会

将C Union转换为C#时遇到了一些问题.这是联盟的定义: union Info { char varChar[8]; short varShort[4]; int varInteger[2]; float varFloat[2]; double varDouble; __int ..
发布时间:2020-05-06 04:21:50 C#/.NET

从C ++ DLL处理用户定义的异常-.NET PInvoke/编组

我正在研究WPF应用程序,该应用程序内部使用PInvoke调用C/C ++ DLL.在DLL的调试模式下,每当发生错误时,该函数都会引发异常,该异常基本上是一种定义的结构,其中包含特定的错误消息和特定于模块的应用程序代码.这与正常的Win32错误日志记录不同.现在我的问题是我想捕获DLL引发的异常. 如果在尝试使用Marshalled函数时,.NET会通知我说外部模块中发生了错误. t ..
发布时间:2020-05-06 04:21:48 其他开发

如何使用编组从指针读取uint?

我有一个本机方法,该方法需要一个指针才能写出dword(uint). 现在我需要从(Int)指针获取实际的uint值,但是Marshal类仅具有方便的方法来读取(带符号)整数. 如何从指针获取uint值? 我已经搜索了问题(和Google),但找不到真正需要的东西. 示例(无效)代码: IntPtr pdwSetting = Marshal.AllocHGlobal( ..
发布时间:2020-05-06 04:21:44 C#/.NET

如何在VB.NET/C#中成功处理cpp dll中的结构和嵌套结构?

我想调用一个需要结构的DLL函数,并且该结构内是另一个结构. Dll应该将值返回到我的结构,但是除了错误代码之外,我什么也没得到.一次(以前有一些编码),我在函数调用中成功返回了"True",但是结构中没有任何值. 我对封送等不是很熟悉,但是如果有人可以,请给我提供有关如何执行此操作的示例! Dll代码如下: bXaarScorpionGetPrintDataParameters ..
发布时间:2020-05-06 04:21:42 C#/.NET

以char *将字节数组从C#传递到C ++ DLL

我正在将byte[]从C#传递到C ++ DLL 在C ++ DLL中,我需要调用一个接受并读取istream对象的函数,我打算以char*的形式从C#接收byte[]并将其转换为istream, C ++ DLL extern "C" _declspec(dllexport) bool CheckData(char* data, int dataLength) C# ..
发布时间:2020-05-06 04:21:38 C#/.NET

是否可以在对象和属性为同一类型的情况下使用@XmlInverseReference?

我正在使用MOXy JAXB实现,并广泛使用@XmlInverseReference批注.但是,我最近遇到了这种方法似乎不起作用的情况.如果我有一个包含一个字段的类具有与父类相同类型的属性的类,则应用@XmlInverseReference似乎完全抑制了该属性的编组.省略注释会产生可预测的StackoverflowException. 有人遇到过这个问题,并发现了MOXy的有效解决方案吗? ..
发布时间:2020-05-06 04:21:33 Java开发

C#编组问题

基于svick的建议,我相信我可以大大简化我的帖子和问题.下面是一些完整的代码,演示了我的问题,即将字节编组到结构中无法按我期望的方式工作... 对于一个对象,其中两个数组被另一个原语分开的情况,我的对象没有按照我期望的方式编组为字节.尽管我指定了"Sequential",但两个byte []数组首先放在字节数组中,然后是uint.发生了什么事? 在“现实生活"中,我正在处理其他人的二进制文件,其 ..
发布时间:2020-05-06 04:21:31 C#/.NET