问题标签 [dllimport]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6988 浏览

.net - 无法使用 .Net / WNetAddConnection2W 映射网络驱动器(错误 67 - 找不到网络名称)?

下午好,

我正在使用下面的代码在 .net 应用程序中映射网络驱动器。更准确地说,尝试这样做。每当我调用 WNetAddConnection2W 时,我都会收到一个带有错误代码 67 的 win32exception ......这基本上翻译为“找不到网络名称”......但我现在真的知道为什么......这个错误的任何想法可能来自?

这是 NetworkMapper 类:

基本上我所做的如下:

然后私有 void mapDrive(string username, string password)方法抛出Win32Exception错误代码67 ...

还有其他人使用 mpr.dll / WNetAddConnection2W 入口点吗?和/或知道如何规避/修复此错误?

干杯和感谢,-Jörg

更新:我最初有一个错误 1204('指定的网络提供商名称无效').. 但到目前为止 2 个答案对我有点帮助,但没有解决无法正确映射网络驱动器的整个问题。 ..

0 投票
3 回答
2416 浏览

c# - 无法将结构从 C++ 返回到 C#

我有一个调用本机 C++ dll 的 C# 程序。

C# 具有以下结构:

C++ 程序具有以下结构定义:

实例化 Phenomenom 对象的 C# 程序对 C++ 方法具有以下调用:

C++ 只是简单地更新结构并返回。这是 C++ 函数:

从 C# 程序中,当我在调用 C++ 函数后打印出结构的值时,该结构尚未更新(即与调用 C++ 函数之前相同)。似乎 C++ 程序能够看到这些值并更新它们,但是在返回时,C# 永远不会看到对结构中值的更新。认为这是一个值与引用的问题,我什至尝试用 C# 程序中的一个类而不是结构来做到这一点。仍然没有运气。

问题:我需要什么样的封送处理才能让被调用的 C++ 函数能够更新传递给它的实际结构?

谢谢你。-Greg Edwards 完全沉浸式软件

0 投票
4 回答
4530 浏览

c++ - __declspec(dllimport/dllexport) 和继承

给定一个具有以下类的 DLL:

即使“DLLAPI”关键字未应用于类定义(至少,不是直接),我的“派生”类在 dll 之外是否可见?

“D()”函数是否可见?

谢谢

0 投票
2 回答
1103 浏览

c# - Vista DLLImport 问题 C#

[DllImport("DoSomething.dll", EntryPoint = "something_dump", SetLastError = true)] private static extern void something_dump(IntPtr dumper);

当我在 XP 机器上运行此 DLLImport 时,它工作正常,但在 vista 上我收到异常:

无法加载 DLL 'DoSomething.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

在两台机器上,它都位于 Windows/System32 目录中,但由于某种原因,vista 没有加载它。

当我完全限定 vista 机器上的路径时 ...DllImport("C:\WINDOWS\system32\DoSomething.dll"... 它有效!

我真的必须告诉 vista 机器上的 DLLImport 函数在 system32 目录中查找吗?

0 投票
1 回答
5429 浏览

c# - 如何使任务栏在失去焦点时闪烁

我偶然发现了下面的这段代码,并试图在我的 WinForm 应用程序中实现它,以帮助我的用户,因为许多用户都非常不精通技术。

不幸的是,它什么也没做。它不会产生任何错误或任何东西。它只是不让它闪光。

任何人都可以提供任何见解吗?我已经在 Win 7(x64) 和 Win XP (x86) 上尝试过,两者的结果相同。

我这样称呼它->TaskbarFlasher.FlashWindow(this);从我的主窗体中。

0 投票
9 回答
15543 浏览

c# - 在 C# 中以编程方式设置 dllimport

DllImport在我的解决方案中使用。
我的问题是我有两个版本的同一个 DLL,一个是为 32 位构建的,另一个是为 64 位构建的。

它们都公开了具有相同名称和相同签名的相同功能。我的问题是我必须使用两种静态方法来公开这些方法,然后在运行时使用IntPtrsize 来确定要调用的正确方法。

我必须这样做,因为myDllName32并且myDllName64必须保持不变,而且我还没有找到在运行时设置它的方法。

有没有人对此有一个优雅的解决方案,所以我可以摆脱代码重复和恒定IntPtr大小检查。

如果我可以设置文件名,我只需要检查一次,就可以摆脱大量重复的代码。

0 投票
1 回答
1752 浏览

c# - 在我的 .NET 代码通过 dllimport 调用非托管 dll 中的函数后,有什么方法可以调试发生的事情?

在我的 .NET 代码通过 dllimport 调用非托管 dll 中的函数后,有什么方法可以调试发生的事情?

我通过 dllimport 在非托管中公开了一个 dll 函数。当我在单步执行代码时调用一个函数时,会发生一些事情并且它永远不会返回。

有什么我可以做的,也许是调试视图或任何获取任何信息的东西?还是我是 SOL?

0 投票
3 回答
4376 浏览

c# - 使用回调调用 MiniDumpWriteDump

我想使用 MiniDumpWriteDump 函数来创建一些自定义转储文件(主要是,我想导出一个包含线程调用堆栈的最少信息量的转储文件),但是我在定义需要作为传递的结构时遇到了困难回调函数的参数

电话看起来像这样:

所以我的问题是如何定义MINIDUMP_CALLBACK_INPUT:

C 中存在问题的结构的定义是:

0 投票
3 回答
4472 浏览

asp.net - ASP.NET 导入 DLL 时遇到问题

我在导入要使用的 DLL 时遇到了很多麻烦。我有一个 aspx 页面,后面没有代码,没有虚拟目录。

关于 DLL,我所知道的只是它的文件名“GenerateExcel.dll”和命名空间“Xander.Utilities”。如何使用其中任何一个导入它

它不工作。我阅读了 SO 上的其他线程,但仍然遇到问题。

替代文字 http://img406.imageshack.us/img406/8021/62535719.gif

编辑:我这样使用它:

0 投票
12 回答
17942 浏览

c# - 为什么 .NET 找不到 OpenSSL.NET dll?

编辑(整个问题,太不清楚了)

我想使用OpenSSL.NET

OpenSSL.NET 安装说明页面:安装

确保在应用程序的当前工作目录或 PATH 中有 libeay32.dll 和 ssleay32.dll。完成
在您的 .NET 项目中,添加对 ManagedOpenSsl.dll 程序集的引用。完毕

我已经把libeay32.dllandssleay32.dll放在了我的bin/Debugbin/Release目录中。我也把它们放进去了system32

这是我的完整代码:

我收到以下错误: 无法加载 DLL 'libeay32' http://localhostr.com/files/a719c5/Error.gif (无法加载 DLL 'libeay32')

这是进程监视器日志(根据要求): alt text http://localhostr.com/files/726a46/ProcMon.gif

我究竟做错了什么?为什么找不到DLL?