问题标签 [usermode]

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 投票
1 回答
90 浏览

communication - 在 Windows 中通过网络与驱动程序通信

我如何通过网络与用户模式应用程序的驱动程序进行通信?我不能让驱动程序与本地用户模式应用程序通信,然后再与远程应用程序通信,因为这不适用于我正在做的事情。我正在考虑使用命名管道,但我不确定这是否可以通过网络工作。

0 投票
2 回答
1955 浏览

vb6 - 如何从用户模式调用/挂钩内核模式 API?

我很想深入研究内核挂钩 - 但我的问题是我不喜欢 C/C++。但我在 VB6 编程方面有超过 10 年的经验,并且自称是这门语言的专家。所以我的问题是是否可以使用一个微型 C 内核模式驱动程序——它可以由 VB 从用户模式通过 DeviceIoControl API 控制,以便我可以调用或挂钩任何内核模式 API?

0 投票
1 回答
6250 浏览

security - 以内核模式运行和以root身份运行的进程之间的区别?

我知道在用户模式下运行的进程和在内核模式下运行的进程之间的区别(基于访问限制、对硬件的访问等)。但是出于好奇,在内核模式下运行的进程和以 root 身份运行的进程有什么区别?

0 投票
0 回答
2654 浏览

windows - 如何从 Windows 内核调用用户模式?

当 Windows 内核中发生有趣的事件时,我想从我的驱动程序调用我的应用程序。我需要能够将至少 4 个字节的数据传回用户模式。如何做到这一点?这些事件可能经常发生,但不会太频繁,因此我不想构建队列系统并使用 IOCTL。

我在想像驱动程序被加载,用户模式应用程序使用 IOCTL 注册其回调,并且内核在事件发生时继续调用该回调,最后用户模式客户端取消注册回调并且没有更多数据发送到用户模式。这可能吗?

我是内核编程的新手,所以经过一天的谷歌搜索后,我决定在这里提问。我注意到关于内核和驱动程序的讨论并不多。甚至更不合适的文档。

0 投票
1 回答
2202 浏览

privilege - 特权指令,添加寄存器值?

我完成了操作系统研究生课程的作业。我得到了一个很好的分数,我只错过了一个小问题。它询问哪些是特权指令,哪些不是。我回答正确,除了一个:将一个寄存器值添加到另一个

我回答说这是特权,但显然不是!怎么会这样?

我认为用户通过使用系统调用与寄存器/内存进行交互,这在某种意义上从用户模式系统调用变为内核模式例程。因此,将一个寄存器值添加到另一个寄存器值可以由非特权用户调用,但最终内核正在做这项工作并且处于内核特权模式。因此它是特权?用户不能自己做。我错了吗?为什么?!

  • 谢谢!
0 投票
2 回答
4417 浏览

c++ - 从内核模式执行用户模式可执行文件

我正在为我们的司机团队构建一个硬件模拟器。现在,模拟器分为 2 个模块:第一个模块在驱动程序中运行,在内核模式下,这是驱动程序和硬件模拟器之间的主要接口。第二个模块是一个可执行的用户模式代码,它为模拟器生成数据并通过调用DeviceIOControl(在 windows API 下)将其传输到模拟器

我的需要是:我希望能够从内核模式中执行用户模式可执行文件。而且我需要能够以相对便携的方式做到这一点。目前我只在 Windows 上运行,但这应该很快就会改变。此外,我需要能够通过它的stdin管道与用户模式代码进行通信,以便重新配置它并最终关闭它。

我发现了这个: Executing a user-space function from the kernel space

但它只与 linux 内核有关。有没有更便携的选择?还是windows的替代品?

我可以通过简单地使用 ShellExecute/RunAs API 函数在 Windows 中执行此操作吗?

注意:我们知道从内核空间调用用户模式代码所涉及的安全风险。但由于这只是用作测试环境并且永远不会到达我们的发布代码,所以我们并不担心。

0 投票
0 回答
1612 浏览

c++ - Windows 用户模式计划程序 (UMS) 已停用?

我刚刚看到以下帖子,似乎说 Windows 7 引入的用户模式调度程序(将要)退役?

Don McCrady,Microsoft:正如您在阅读其他论坛条目时可能知道的那样,UMS 调度程序正在退役,最终选择 UmsThreadDefault 将最终使用 Win32 线程调度程序。

有没有人有更多关于这方面的信息?为什么它要退役了,是有问题还是被其他东西取代了?我还没有找到任何其他对此的参考。

0 投票
2 回答
1648 浏览

serial-port - 在不安装驱动程序的情况下以编程方式模拟串口

com0com 是一个拥有虚拟串口的好程序。我的问题:是否有任何库可用于在我的应用程序中以编程方式模拟串行端口(COM、USB 等),而无需为此类虚拟设备安装额外的软件?

类似于在用户空间中制作虚拟设备?操作系统:Windows

0 投票
2 回答
816 浏览

c++ - SystemParametersInfo 和 ERROR_OPERATION_IN_PROGRESS

我正在编写这个用户模式可执行文件,它可以在登录用户的上下文中从 Windows 平台上的本地服务运行。它的主要目的是配置所有登录用户的桌面。它调用以下 API 来设置屏幕保护程序:

上面的代码在大多数情况下都有效,除了当我有多个用户登录到 Windows 控制台时,我会收到这个奇怪的错误 ERROR_OPERATION_IN_PROGRESS。我查阅了文档,它有这样的解释:

如果机器已进入省电模式或系统锁定状态,则会发生 ERROR_OPERATION_IN_PROGRESS 异常。

好的,但是我该如何处理这个错误呢?

PS。这在 Windows 8 上最常发生。

0 投票
1 回答
93 浏览

windows - 是否可以通过监控 IDT 来了解异常的发生?

是否可以通过监视 IDT(中断描述符表)来了解异常发生(在用户模式和内核模式下)?