P / Invoke是Microsoft由公共语言基础结构(CLI)创建的实现规范,用于从托管代码调用本机代码库。
将 protobuf 消息作为字节数组从 C++ 发送到 C#
我有一个 C# 应用程序和一个 C++ dll 库。我想让他们使用 protobuf 进行通信。 C# 应用程序将是调用者,C++ 应用程序将是发送者。 我正在做的事情如下: 来电者.cs 公共...
我有一个本机函数,它将向调用中提供的缓冲区写入字符串及其大小。我们称之为 GetFooString(char * str, int strLen)。 到目前为止我发现使用 DllImport
我需要从 C# 调用以下非托管函数: TLINError __stdcall LIN_GetAvailableHardware( HLINHW *pBuff, WORD wBuffSize, int *pCount ); 图书馆提供...
打包本机 C++ DLL 项目的输出以供 .NET Framework 4.8 应用程序使用?
我目前有一个 VS2022 解决方案,其中包括一个构建本机 DLL 的完全本机 VC++ 项目,该项目依赖于许多通过 VCPKG 管理和版本控制的 C++ 库。 本地人...
通过Powershell获取文件的正确SignerInfos?
我正在开发 Powershell-Sample,以从文件中读取所有证书和 SignerInfos。 下面是我到目前为止的代码。它为我提供了所有证书,但只提供了第一个签名者,这就是我的情况“...
如果系统剪贴板上有大量文本(例如 150MB 文本文件),我希望能够从流中读取系统剪贴板作为 Unicode 文本,以避免 OutOfMemoryExcept...
我正在为 SDL3 编写 C# 包装器。我目前正在尝试实现以下结构: typedef 结构 SDL_VirtualJoystickDesc { Uint16类型; /**< `SDL_JoystickType` */ Uint16
为什么我需要在“DangerousGetHandle”周围使用“DangerousAddRef”/“DangerousRelease”?
我一直在研究 Microsoft.Windows.CsWin32 NuGet 包,并将其生成的 P/Invoke 代码与我手写的代码进行比较。在某些情况下,它使用 SafeHandle.DangerousAddRef/SafeH...
我需要 2 个不同的 PInvoke 来获取和设置鼠标速度吗?
我想获取当前鼠标指针速度,并且我想设置它。 为了得到它,我使用 公共声明函数 SystemParametersInfo Lib“user32.dll”别名“SystemParametersInfoA”(ByVal uAction As...
.NET 签名来 p/调用 GetSystemDEPPolicy 函数
我找不到.NET 使用此函数(GetSystemDEPPolicy)的任何示例签名。 http://msdn.microsoft.com/en-us/library/windows/desktop/bb736298(v=vs.85).aspx 这是一个相当简单的功能...
我需要在 Vista/7 玻璃窗中编写带有发光的文本,并且我正在尝试调用 API 来在那里编写一些文本。我在 CodeProject 中查看了一个很棒的示例,但问题是我
我有以下功能: 公共静态外部uint FILES_GetMemoryMapping( [MarshalAs(UnmanagedType.LPStr)] 字符串 pPathFile, 出 ushort 尺寸, [MarshalAs(UnmanagedType.LPStr)] ...
我正在 Windows 11 上进行开发,并获得了一个非托管 C dll。但是我遇到了无法执行库中的函数的问题。我没有收到任何错误,功能...
C# DLLImport 在 Windows 10 上未返回
我正在 Windows 11 上进行开发,并获得了一个非托管 C dll。我像这样使用 DLLImport: 内部常量字符串laserTackDllPath = @“外部依赖项\spectrlib_core_shared.dll&q...
我正在开发一个 C# 库 (LLamaSharp),它包装了一个 C++ 库 (llama.cpp)。 作为 nuget 包的一部分,我们包括使用所有各种类型的硬件支持(CUDA、Ope...
C# 不安全类型 -> char*[] ,获取 char 数组上的指针
有: [DllImport(“OpenAL32.dll”)] static extern void alcOpenDevice(char*[] 设备名); 想要将名称发送到此函数,如下所示: char[] data = "你好!".ToCharArray(); 字符*[] txt = &...
使用MarshalAs(UnmanagedType.LPWStr)会清理内存吗?
我正在尝试为 ITaskTrigger::GetTriggerString 方法编写一个 pinvoke(在 http://msdn.microsoft.com/en-us/library/windows/desktop/aa381866(v=vs.85) 中定义)。 ASPX)。如果您查看该页面,它...
我有以下 C 函数声明,我想从 C# 调用它(注意我无法访问 dll 的源代码): int setData(OuterStruct *data); 以及这个 C 的相关结构
CsWin32 如何创建 PWSTR 实例,例如获取窗口文本
我刚刚开始使用 CsWin32 和我想使用它的 Win32 函数之一 GetWindowText ,它被映射到 我知道如何使用第一个和最后一个参数,但我不知道该怎么做...
我正在编写一个.NET应用程序来调用非托管DLL。 以下是非托管 DLL 的标头: #pragma 一次 #ifdef __cplusplus 外部“C”{ #endif /* __cplusplus */ //