pinvoke 相关问题

P / Invoke是Microsoft由公共语言基础结构(CLI)创建的实现规范,用于从托管代码调用本机代码库。

将 protobuf 消息作为字节数组从 C++ 发送到 C#

我有一个 C# 应用程序和一个 C++ dll 库。我想让他们使用 protobuf 进行通信。 C# 应用程序将是调用者,C++ 应用程序将是发送者。 我正在做的事情如下: 来电者.cs 公共...

回答 1 投票 0

C# LibraryImport 字符串输出参数编组

我有一个本机函数,它将向调用中提供的缓冲区写入字符串及其大小。我们称之为 GetFooString(char * str, int strLen)。 到目前为止我发现使用 DllImport

回答 1 投票 0

.NET P/Invoke 使用跨度而不是托管数组进行编组

我需要从 C# 调用以下非托管函数: TLINError __stdcall LIN_GetAvailableHardware( HLINHW *pBuff, WORD wBuffSize, int *pCount ); 图书馆提供...

回答 1 投票 0

打包本机 C++ DLL 项目的输出以供 .NET Framework 4.8 应用程序使用?

我目前有一个 VS2022 解决方案,其中包括一个构建本机 DLL 的完全本机 VC++ 项目,该项目依赖于许多通过 VCPKG 管理和版本控制的 C++ 库。 本地人...

回答 1 投票 0

通过Powershell获取文件的正确SignerInfos?

我正在开发 Powershell-Sample,以从文件中读取所有证书和 SignerInfos。 下面是我到目前为止的代码。它为我提供了所有证书,但只提供了第一个签名者,这就是我的情况“...

回答 1 投票 0

将系统剪贴板作为流而不是字符串读取

如果系统剪贴板上有大量文本(例如 150MB 文本文件),我希望能够从流中读取系统剪贴板作为 Unicode 文本,以避免 OutOfMemoryExcept...

回答 1 投票 0

如何使用委托字段封送 C# 结构?

我正在为 SDL3 编写 C# 包装器。我目前正在尝试实现以下结构: typedef 结构 SDL_VirtualJoystickDesc { Uint16类型; /**< `SDL_JoystickType` */ Uint16

回答 1 投票 0

为什么我需要在“DangerousGetHandle”周围使用“DangerousAddRef”/“DangerousRelease”?

我一直在研究 Microsoft.Windows.CsWin32 NuGet 包,并将其生成的 P/Invoke 代码与我手写的代码进行比较。在某些情况下,它使用 SafeHandle.DangerousAddRef/SafeH...

回答 1 投票 0

我需要 2 个不同的 PInvoke 来获取和设置鼠标速度吗?

我想获取当前鼠标指针速度,并且我想设置它。 为了得到它,我使用 公共声明函数 SystemParametersInfo Lib“user32.dll”别名“SystemParametersInfoA”(ByVal uAction As...

回答 2 投票 0

.NET 签名来 p/调用 GetSystemDEPPolicy 函数

我找不到.NET 使用此函数(GetSystemDEPPolicy)的任何示例签名。 http://msdn.microsoft.com/en-us/library/windows/desktop/bb736298(v=vs.85).aspx 这是一个相当简单的功能...

回答 1 投票 0

如何在.NET中调用DrawThemeTextEx

我需要在 Vista/7 玻璃窗中编写带有发光的文本,并且我正在尝试调用 API 来在那里编写一些文本。我在 CodeProject 中查看了一个很棒的示例,但问题是我

回答 2 投票 0

C#:如何将 null 传递给需要引用的函数?

我有以下功能: 公共静态外部uint FILES_GetMemoryMapping( [MarshalAs(UnmanagedType.LPStr)] 字符串 pPathFile, 出 ushort 尺寸, [MarshalAs(UnmanagedType.LPStr)] ...

回答 10 投票 0

DllImport 不执行库中的函数,但没有错误代码

我正在 Windows 11 上进行开发,并获得了一个非托管 C dll。但是我遇到了无法执行库中的函数的问题。我没有收到任何错误,功能...

回答 1 投票 0

C# DLLImport 在 Windows 10 上未返回

我正在 Windows 11 上进行开发,并获得了一个非托管 C dll。我像这样使用 DLLImport: 内部常量字符串laserTackDllPath = @“外部依赖项\spectrlib_core_shared.dll&q...

回答 1 投票 0

在 Nuget 中分发 DLL

我正在开发一个 C# 库 (LLamaSharp),它包装了一个 C++ 库 (llama.cpp)。 作为 nuget 包的一部分,我们包括使用所有各种类型的硬件支持(CUDA、Ope...

回答 1 投票 0

C# 不安全类型 -> char*[] ,获取 char 数组上的指针

有: [DllImport(“OpenAL32.dll”)] static extern void alcOpenDevice(char*[] 设备名); 想要将名称发送到此函数,如下所示: char[] data = "你好!".ToCharArray(); 字符*[] txt = &...

回答 2 投票 0

使用MarshalAs(UnmanagedType.LPWStr)会清理内存吗?

我正在尝试为 ITaskTrigger::GetTriggerString 方法编写一个 pinvoke(在 http://msdn.microsoft.com/en-us/library/windows/desktop/aa381866(v=vs.85) 中定义)。 ASPX)。如果您查看该页面,它...

回答 1 投票 0

使用 P/Invoke C# 时如何用嵌套结构数组封送结构

我有以下 C 函数声明,我想从 C# 调用它(注意我无法访问 dll 的源代码): int setData(OuterStruct *data); 以及这个 C 的相关结构

回答 1 投票 0

CsWin32 如何创建 PWSTR 实例,例如获取窗口文本

我刚刚开始使用 CsWin32 和我想使用它的 Win32 函数之一 GetWindowText ,它被映射到 我知道如何使用第一个和最后一个参数,但我不知道该怎么做...

回答 1 投票 0

.NET应用程序调用未管理的DLL,参数包含奇怪的字符

我正在编写一个.NET应用程序来调用非托管DLL。 以下是非托管 DLL 的标头: #pragma 一次 #ifdef __cplusplus 外部“C”{ #endif /* __cplusplus */ //

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.