pinvoke 相关问题

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

如何以托管方式在.NET中获取父进程

我在.NET中寻找了很多获取父进程的方法,但只找到了P/Invoke方式。

回答 7 投票 0

为什么 IsWindow() 函数(winuser.h)无法将 OpenTK 的 WindowPtr 识别为有效的窗口句柄?

我正在使用 C# 开发一个 OpenTK 项目,以创建一个允许鼠标事件通过的透明窗口。我想通过调整 OpenTK 窗口的扩展窗口样式来使其可点击。哈...

回答 1 投票 0

不安全上下文中 &IntPtr 和 .ToPointer() 之间的区别 - P/Invoke

我正在使用 cuDNN 并使用 C# 和 P/Invoke 来包装 CUDA/CuDNN 函数,这需要在不安全的上下文中处理指针。具体来说,我正在实现设置

回答 1 投票 0

C#中是否允许返回blittable结构体的解引用指针

是否可以/允许从这样的 C# pinvoke 代码返回结构体的取消引用指针。 该结构是 blittable 的。 Pinvoke 代码和结构是使用 CsWin32 生成的。谢谢...

回答 1 投票 0

C# 调用返回具有固定大小字符数组的结构的 C 函数

所以,这个问题有很多种变体,看了几个还是想不通。 这是 C 代码: 类型定义结构 { 无符号长标识符; 字符名称[128]; } 弗拉姆...

回答 3 投票 0

以固定大小的 char[] 作为输入的 PInvoke 方法

我有一个具有以下签名的第三方库: int GetError(char *消息, int 长度) 这里的消息必须是至少大小为 Length 的缓冲区,否则函数将失败。怎么...

回答 1 投票 0

以编程方式刷新系统托盘图标

我有一个带有系统托盘图标的应用程序。卸载时,如果进程正在运行,我将终止该进程。因此,由于我没有优雅地停止应用程序,该图标仍保留在系统托盘中并且将...

回答 4 投票 0

说服 Visual Studio C# 项目将本机库复制到构建目录

我编写了一个 .NET7 库,它使用 P/Invoke 来执行两个第三方库中的支持功能,在本例中为 .so 文件,因为消费产品只会部署到 Linux。 我已经

回答 1 投票 0

我应该怎么做才能将C联合结构转移到C#结构,让它们在内存中具有相同的类型

这是我在 C 中的结构: typedef 结构 s1 { 整数我; 联盟{ s2 u1; s3 u2; } } typedef 结构体 s2 { 整数w[10]; } typedef 结构体 s3 { 整数w[10]; } 这是我的...

回答 1 投票 0

我应该怎么做才能将 c union 结构转换为 c# 结构,让它们在内存中具有相同的类型;

这是c结构: typedef 结构 s1 { 整数我; 联盟{ s2 u1; s3 u2; } } typedef 结构体 s2 { 整数w[10]; } typedef 结构体 s3 { int w...

回答 1 投票 0

如何从 C# 调用 Kotlin/Native 生成的原生 C 库中的函数?

考虑到 Kotlin/Native 生成的以下 C API: #ifndef KONAN_bar_H #定义KONAN_bar_H #ifdef __cplusplus 外部“C”{ #endif 类型定义结构{ /* 服务函数。 */ 无效(*

回答 3 投票 0

调用非托管 dll 时发生访问冲突

我有一个非托管 dll,up_control64.dll,其中包含一个函数 int __stdcall UP_GetProgList(int prog_type, int *sn_list, int count, int *count_returned) 我正在尝试从...访问该功能

回答 1 投票 0

将 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

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