- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图从通过 NtQueryObject 获得的句柄列表中找到拥有句柄的进程的名称。我正在运行每个句柄以检查其进程名称,有时它会抛出“com.sun.jna.platform.win32.Win32Exception:连接到系统的设备无法正常工作。”错误。这通常工作正常,但当它确实发生时,它似乎会在多个进程上抛出大量句柄。我正在使用 JNA 从在 Windows 10 上运行的 Java 程序进行所有调用。
我已尝试尽可能缩小它的范围,但我无法弄清楚为什么它有时会抛出此错误。
NtDllX.SYSTEM_HANDLE_INFORMATION info = getSystemHandleInfo();
for(int i = 0; i < info.HandleCount; i++) {
//For each handle check for target handle
NtDllX.SYSTEM_HANDLE sh = info.Handles[i];
HANDLE sHandle = new HANDLE(new Pointer(sh.Handle));
HANDLE rProcess = Kernel32.INSTANCE.OpenProcess(Kernel32.PROCESS_DUP_HANDLE | Kernel32.PROCESS_QUERY_INFORMATION | Kernel32.PROCESS_VM_READ, false, sh.ProcessId);
//Check for target process
if(rProcess != null) {
String p = "";
try {
p = Kernel32Util.QueryFullProcessImageName(rProcess, 0); //Throwing Error Occasionally
} catch (Exception e) {
...
抛出的错误:
com.sun.jna.platform.win32.Win32Exception: A device attached to the system is not functioning. at com.sun.jna.platform.win32.Kernel32Util.QueryFullProcessImageName(Kernel32Util.java:842)
最佳答案
QueryFullProcessImageNameW
失败,返回 ERROR_GEN_FAILURE
(31
或 0x1f
,“连接到系统的设备无法正常工作") 如果该进程是一个“僵尸”进程,即该进程已终止但并非所有指向它的句柄都已关闭。在这种情况下,您仍然可以使用带有 PROCESS_NAME_NATIVE
标志的 QueryFullProcessImageNameW
来获取 native 路径,但您可能只想跳过它,因为它不再运行。
关于java - 如何修复 QueryFullProcessImageName 抛出 "A device attached to the system is not functioning"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58696505/
我试图从通过 NtQueryObject 获得的句柄列表中找到拥有句柄的进程的名称。我正在运行每个句柄以检查其进程名称,有时它会抛出“com.sun.jna.platform.win32.Win32E
我需要使用它,但在 pinvoke 中我无法获得该 API 的声明。 那么...有没有办法声明它? 如果您有一个使用示例,那将是完美的,因为这是我第一次使用该 api。 最佳答案 using Syst
我有一个应用程序需要同时在 WinXP 和 Vista64 上运行。我的程序需要 QueryFullProcessImageName() 才能在 Vista 上运行,但不能在 XP 上运行。 我尝试通
我是一名优秀的程序员,十分优秀!