比 Marshall.QueryInterface 更简洁的编码方式?
我想知道是否有一种更干净的方法来编写下面的(工作)代码: uint uEnum = 0; PStore.EnumTypes(0, 0, ref uEnum); System.Reflection.MemberInfo inf…
DLLImport c++带默认参数的函数
我正在尝试将非托管代码 c++ dll 中的函数导入到我的 c# 应用程序中。 C++ 原型是 int somefunction (int param1, int *param2 = NULL); How do I sta…
P/Invoke AccessViolationException 没有意义
首先,很抱歉在这个主题上被问到很多其他问题时发布这样的问题,但我一直在阅读我能找到的所有问题(+谷歌),并且没有一个真正给我任何关于什么的提…
C# 4.0 PInvoke 问题(ATI AGS 库)
我下载了 ATI AGS(ATI GPU 服务)库,并尝试使用此 API 从 C# 检索一些基本驱动程序信息。 ATI AGS 库可从此处下载: http://developer.amd。 com/gp…
需要C Sharp win32、PInvoke API
长期倾听者,第一次来电。有谁知道 Win32API 有一个好的互操作库吗? 我发现pinvok.net 还可以。 (FWIW 我按照此处的说明让插件与 MSVS 2010 一起使…
使用 P/Invoke 的 DLL 的 C# 包装器设计
我需要关于为非托管 C++ DLL 编写托管 (C#) 包装器的意见。 假设我有一个像这样的对象: public class ManagedObject { public void DoSomethingWithT…
C# P/Invoke:指向字符串作为错误消息的指针
我正在尝试使用 P/Invokes 将 llvmc 用作 C# 库(因为我找不到任何 .NET 绑定)。 但是,我有一个问题。 llvmc 使用 char** 进行错误传递。 一个例子…
COM dll 没有被刷新
我正在与我的 C# 项目中名为 CSCCOM 的自定义 COM 组件进行交互。 我用 IDisposable 包装它,如下所示: Form1.cs try { using (CSCCOMWRAP CSC = new…
DllImport 名称不完整
我在 .NET 下使用多个 P/Invoke。但是,我希望我的库能够在 Windows 和 Linux 上运行,最好使用相同的二进制文件。 由于我依赖的本机库可在多个平台上…
CUDA DLL 上的 C# P/Invoke 最终导致 AccessViolationException
这让我发疯。我已经查看了所有内容,但不确定我是否完全理解导致此错误的原因。 我正在调用一个 DLL(我已将其编码为单独的项目),该 DLL 对我正在使…
NetUserGetInfo/NetLocalGroupGetInfo 返回错误 1722
我有以下代码(VB.NET),旨在确定给定的帐户名称是指本地组还是用户帐户。这只会针对计算机上的帐户/组调用,而不是域。 Module netapi Private Decl…
pInvoke C# DLL导入问题
我在 C# 中的非托管 dll 函数 swe_get_planet_name() 上使用 P/invoke。 给定的函数定义是, char* swe_get_planet_name(int ipl, char *spname); 这…
控制台应用程序中的全局热键
有谁知道如何在控制台应用程序中使用 RegisterHotKey/UnregisterHotKey API 调用?我假设设置/删除热键是相同的,但是当按下该键时如何回调? 我看到…
将数组作为 ref/out 传递时 P/invoke System.ExecutionEngineException
我在非托管 dll 函数 swe_calc_ut 上使用 P/invoke。 int swe_calc_ut(double tjd_et, int ipl, int iflag, double *xx, char *serr) 参数 xx 是一个…