问题标签 [kernel32]

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 投票
3 回答
886 浏览

.net - kernel32.searchpath 是否有托管 API?

kernel32.searchpath 是否有托管 API?即不使用pinvoke。

http://www.pinvoke.net/default.aspx/kernel32.searchpath

0 投票
1 回答
13149 浏览

c# - 用于 kernel32.dll API 的包装器 C#

任何地方的任何帮助类都包装了 kernel32 API,以及所有的函数方法和结构?或者任何包装器生成器?

我想要 C# 中 kernel32.dll 的所有方法,如下所示:

0 投票
3 回答
1753 浏览

c# - 尝试从 kernel32 导入 DllImport 时出现奇怪的异常

我已经使用这个特殊功能几个月了,但是今天它停止工作了。我无法想象为什么,我不排除任何可能性,所以如果你有任何想法,请告诉!

我正在以这种方式加载函数:

然后我尝试以这种方式使用它:

正如所说,这已经工作了很长时间,但是从现在开始它会抛出这个异常:

System.EntryPointNotFoundException:无法在 DLL“kernel32”中找到名为“GetPrivateProfilestring”的入口点

为什么会发生这种情况?dll是否可能已更改(通过Windows更新或其他方式)?也许只是再也找不到了,那么例外会有所不同吗?我知道这不太可能,但是因为我说过我没有排除任何可能性,因为这一直有效并且源代码没有改变......

更新:奇怪的是,大写有所帮助,它现在似乎可以工作了。但是我仍然很好奇为什么会发生这种情况,为什么现在会发生?我可以向你保证,它已经工作了几个月。

我有点害怕只是更改它并在所有地方更新我们的软件,因为错误只发生在我的机器上(据我所知),但是旧方法已经在各种 PC 和配置上运行了 6 个多月.

0 投票
2 回答
1034 浏览

c++ - 除非在 XP 兼容模式下运行,否则低级 C++ 应用程序在 Windows Vista/7 上崩溃

我有一个低级(就像真正的低级,它基本上是所有 IOCTL 调用和对枚举 API 的几个调用),在客户端机器上的 Windows Vista/7 上偶尔崩溃。不幸的是,我无法获得任何故障转储,但一位乐于助人的用户确实提到在 XP 兼容模式下运行程序解决了这个问题。

该应用程序始终以完全管理员权限启动(它是从另一个需要管理员授权的程序启动的),因此这不是 UAC 问题。我不使用任何已弃用的 API,也不依赖任何注册表黑客等。我只是发出调用以枚举磁盘,然后使用 IOCTL 命令获取有关所有连接设备的更多低级信息。

XP 兼容模式下会发生什么?Windows 将什么注入我的应用程序或以其他方式将其沙箱化以防止它在 Vista/7 上崩溃?在被告知它在 XP 兼容模式下运行良好之前,我最初怀疑堆损坏(尽管我已经拔出头发试图复制或追踪问题)。

任何人都可以建议在 XP 兼容模式下可以避免的任何可能的问题,我应该考虑尝试解决这个问题吗?谢谢!

编辑:

还有一件事可能非常重要:我正在从用户空间调用 DDK/Kernel 函数,以便获得某些未通过 WIN32 API 公开的功能。

我正在使用 ZwReadFile、ZwCreateFile、ZwWriteFile、RtlInitUnicodeString、ZwQueryVolumeInformationFile、ZwDeviceIoControlFile、ZwSetInformationFile、ZwClose。

我调用的 IOCTL 包括 IOCTL_DISK_GET_PARTITION_INFO_EX、IOCTL_STORAGE_GET_DEVICE_NUMBER、IOCTL_DISK_GET_LENGTH_INFO 和 IOCTL_DISK_GET_DRIVE_LAYOUT_EX。

0 投票
2 回答
292 浏览

multithreading - 为什么我的 Windows 控制台应用程序在空闲时会泄漏?(为什么吸烟枪指向kernel32.dll??)

我有一个 Windows 多线程控制台应用程序,似乎每分钟左右泄漏大约 4kb 的私有内存。

为了定位泄漏,我逐渐暂停了应用程序中的每个线程,直到泄漏停止,令我惊讶的是,罪魁祸首似乎是一个名为“Win32Thread”的线程。

它看起来不像我明确启动的线程。

如果我附加并中断应用程序,堆栈跟踪如下所示:

有谁知道为什么这会突然泄漏?

该应用程序在 Win2k3 SP2 双核系统上运行了大约 40 小时。

任何想法都将不胜感激。

0 投票
1 回答
2797 浏览

windows - 如何通过 Windows 原生 API 获取目录信息?

我可以使用以下代码获取文件的创建日期、文件大小等:

但是当针对目录调用时,所有值都设置为零 - 我如何获取目录信息?

谢谢

0 投票
1 回答
835 浏览

c# - lstrcpy 不更新传入的字符串

我正在尝试使用 kernel32.dll 的 lstrcpy 从 C# 中的指针获取字符串,但它不起作用。lstrlenA 正在工作,它给了我字符串的长度,所以我至少打了 kernel32.dll。lstrcpy 在我正在转换的 VB6 应用程序中工作,所以我知道它可以工作,但我不知道为什么它不在这里。

字符串 s 永远不会被实际的字符串填充,它只是返回初始填充的字符串。

0 投票
4 回答
8139 浏览

c# - C# - 可以使用 IOCTL

我正在尝试为允许“现金抽屉”附件的销售点系统编写代码。手册中提供了用于打开钱箱的代码(在 C++ 中使用 IOCTL)。由于我在 C# .NET 中编码,是否可以在 C# 中执行类似的操作,或者我是否必须编写一些非托管代码?

我可以从 C# 中获得“\\.\ADVANSYS”的句柄吗?我需要使用 DLLImport 吗?

如果有人能指出我正确的方向,将不胜感激。

0 投票
1 回答
1493 浏览

dll - 如何使用 Kernel32.dll 获取处理器 ID

我想知道 kernel32.dll 是否有一个入口点,它与任何处理器数据(ID、Serial 等)有关
,我尝试用谷歌搜索,但没有找到好的结果。

注意:我已经知道 WMI ,但我需要一些与 Kernel 相关的东西!

0 投票
1 回答
2113 浏览

c - 如何从内联汇编器调用 Win32 API 函数?

有人能告诉我这段代码有什么问题吗?我只是从 kernel32.dll 调用睡眠函数有什么问题吗?我正在使用 Visual Studio 2008。任何帮助将不胜感激。非常感谢。