问题标签 [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.
.net - kernel32.searchpath 是否有托管 API?
kernel32.searchpath 是否有托管 API?即不使用pinvoke。
c# - 用于 kernel32.dll API 的包装器 C#
任何地方的任何帮助类都包装了 kernel32 API,以及所有的函数方法和结构?或者任何包装器生成器?
我想要 C# 中 kernel32.dll 的所有方法,如下所示:
c# - 尝试从 kernel32 导入 DllImport 时出现奇怪的异常
我已经使用这个特殊功能几个月了,但是今天它停止工作了。我无法想象为什么,我不排除任何可能性,所以如果你有任何想法,请告诉!
我正在以这种方式加载函数:
然后我尝试以这种方式使用它:
正如所说,这已经工作了很长时间,但是从现在开始它会抛出这个异常:
System.EntryPointNotFoundException:无法在 DLL“kernel32”中找到名为“GetPrivateProfilestring”的入口点
为什么会发生这种情况?dll是否可能已更改(通过Windows更新或其他方式)?也许只是再也找不到了,那么例外会有所不同吗?我知道这不太可能,但是因为我说过我没有排除任何可能性,因为这一直有效并且源代码没有改变......
更新:奇怪的是,大写有所帮助,它现在似乎可以工作了。但是我仍然很好奇为什么会发生这种情况,为什么现在会发生?我可以向你保证,它已经工作了几个月。
我有点害怕只是更改它并在所有地方更新我们的软件,因为错误只发生在我的机器上(据我所知),但是旧方法已经在各种 PC 和配置上运行了 6 个多月.
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。
multithreading - 为什么我的 Windows 控制台应用程序在空闲时会泄漏?(为什么吸烟枪指向kernel32.dll??)
我有一个 Windows 多线程控制台应用程序,似乎每分钟左右泄漏大约 4kb 的私有内存。
为了定位泄漏,我逐渐暂停了应用程序中的每个线程,直到泄漏停止,令我惊讶的是,罪魁祸首似乎是一个名为“Win32Thread”的线程。
它看起来不像我明确启动的线程。
如果我附加并中断应用程序,堆栈跟踪如下所示:
有谁知道为什么这会突然泄漏?
该应用程序在 Win2k3 SP2 双核系统上运行了大约 40 小时。
任何想法都将不胜感激。
windows - 如何通过 Windows 原生 API 获取目录信息?
我可以使用以下代码获取文件的创建日期、文件大小等:
但是当针对目录调用时,所有值都设置为零 - 我如何获取目录信息?
谢谢
c# - lstrcpy 不更新传入的字符串
我正在尝试使用 kernel32.dll 的 lstrcpy 从 C# 中的指针获取字符串,但它不起作用。lstrlenA 正在工作,它给了我字符串的长度,所以我至少打了 kernel32.dll。lstrcpy 在我正在转换的 VB6 应用程序中工作,所以我知道它可以工作,但我不知道为什么它不在这里。
字符串 s 永远不会被实际的字符串填充,它只是返回初始填充的字符串。
c# - C# - 可以使用 IOCTL
我正在尝试为允许“现金抽屉”附件的销售点系统编写代码。手册中提供了用于打开钱箱的代码(在 C++ 中使用 IOCTL)。由于我在 C# .NET 中编码,是否可以在 C# 中执行类似的操作,或者我是否必须编写一些非托管代码?
我可以从 C# 中获得“\\.\ADVANSYS”的句柄吗?我需要使用 DLLImport 吗?
如果有人能指出我正确的方向,将不胜感激。
dll - 如何使用 Kernel32.dll 获取处理器 ID
我想知道 kernel32.dll 是否有一个入口点,它与任何处理器数据(ID、Serial 等)有关
,我尝试用谷歌搜索,但没有找到好的结果。
注意:我已经知道 WMI ,但我需要一些与 Kernel 相关的东西!
c - 如何从内联汇编器调用 Win32 API 函数?
有人能告诉我这段代码有什么问题吗?我只是从 kernel32.dll 调用睡眠函数有什么问题吗?我正在使用 Visual Studio 2008。任何帮助将不胜感激。非常感谢。