标签:pinvoke
-
从调试过程MainModule获取符号 - c#
我开始用C#编写调试器,以调试操作系统上的任何进程。目前,它只能处理断点(硬件,软件和内存),但现在我想显示该过程的操作码。 我的第一次尝试是使用nidsasm(NASM),但这不合适,因为启动后a.Net应用程序汇编程序指令与ndisasm不同(已通过CheatEngine测试)。 因此,我搜索了一会儿,然后从dbghelp.dll中找到了一些方法,可以调 […]
-
不要在顺序结构中声明可见的实例字段警告 - c#
我在DllImports应用程序中使用一些wpf捕获屏幕。我在GetWindowRect中呼叫user32.dll。它要求传递一个rect结构。结构的布局很重要,因为它是本地调用。 我正在尝试VS 2019预览2,这给了我以前从未见过的警告。 rect中的所有字段都会生成相同的警告: CA1051 Do not declare visible instanc […]
-
C#Interop Delphi DLL - c#
我在Delphi“ a.dll”(没有源代码)中编写了第三方DLL。 并且此DLL具有使用此签名的一种方法。 function GetAny(pFileName: String): String; 我无法从c#进行互操作调用,因为'String type'在delphi中具有私有访问权限。 因此,在delphi中构建另一个DLL来包装该调用。 德尔福 fun […]
-
我可以使用.NET SafeHandle类并确定性地释放其中的句柄吗? - c#
我有一个.NET项目,我在运行时根据平台的位性从资源中提取一个本机代码.DLL,其中包含我需要使用的功能。我使用LoadLibrary,GetProcAddress和FreeLibrary在托管代码中管理库的加载和使用。 在完成本机库之后,我想将其删除。这是一些伪代码,显示了当前实现的工作流程: internal class MyClass() { stri […]
-
如何在C#中封送结构数组? - c#
我必须在C#中调用C ++ dll。 dll的头文件如下(简化):// C ++的标题 struct vector { float x; float y; vector() {} vector(float x0, float y0) { x = x0; y = y0; } }; struct unmanaged_struct { int int_var; f […]
-
dbgHelp.dll:从C#调用SymGetModuleInfo64 - c#
我从C#代码调用SymGetModuleInfo64时遇到了非常奇怪的行为。我总是通过Marshal.GetLastWin32Error()得到ERROR_INVALID_PARAMETER(87)。我已经阅读了很多有关IMAGEHLP_MODULE64结构的频繁更新的问题的帖子,并且我刚刚下载了Windows的最新调试工具(x86),从该位置加载了dbgh […]
-
从C#进行P /调用:调用返回对象的函数 - c#
我有一个本机/非托管DLL,并且它具有一个“ CreateObject”函数,该函数返回指向业务对象的指针..因此调用将是……。喜欢: [DllImport("MyDll.dll", CharSet = CharSet.Auto)] private static extern IntPtr CreateObject(); 题:该对象公开了 […]
-
从Delphi应用程序调用带有SerialPort类的C#非托管导出dll - c#
我正在使用Robert Giesecke的非托管导出将SerialPort类的打开方法从C#类放到DLL中。现在,代码是: [DllExport] public static void OpenPort(string portName, int baudRate, int dataBits) { SerialPort serialPort = new Ser […]
-
使用p / invoke在x64版本的.net应用程序中崩溃 - c#
因此,我试图以64位模式运行.NET应用程序。我对可以为x64编译的dll有依赖性,并且可以正确加载。我可以调用某些调用,但是当我尝试调用特定的调用时,该应用程序完全崩溃。没有错误或任何东西... 错误发生在两个位置之一;在这里: #include "socket.h" int SenderAddrSize = sizeof(SOCKAD […]
-
P从用C编译的DLL调用函数 - c#
我有以下C函数 typedef struct ekeycore_ctx_ ekeycore_ctx; typedef struct ekeycore_enum_ ekeycore_enum; typedef struct ekeycore_device_ { char *serial; char *portname; char *node; BOOL pre […]