问题标签 [windows-kernel]

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 回答
1665 浏览

kernel - 如何在 Windows 中从内核模式启动用户模式程序

我有一个驱动程序(内核模式)(KMDF),我有一个用户偏好表格。我需要从驱动程序代码开始活动并获取首选项。那么如何从 Windows 操作系统的内核启动该用户模式程序?

0 投票
1 回答
303 浏览

windows - Windows NDIS 过滤器 - 如何检查端口是否被操作系统使用

我正在编写一个 Windows NDIS 过滤器驱动程序,并希望能够从内核内部查询 tcp 端口的状态(它是否正在使用中?)。当驱动程序处于 IRQL = dispatch_level 时,我可以使用 WSK 网络 API 或其他任何东西来查询操作系统是否正在使用端口?

提前致谢!

0 投票
2 回答
1092 浏览

c++ - 试图理解进程特权属性

我正在编写一个可以收集进程权限的日志服务,并且我正在尝试了解每个进程权限的属性。让我用这段代码解释一下:

那么让我们看看TOKEN_PRIVILEGES的结构,LUID_AND_ATTRIBUTES特别是:

看起来它被定义为位掩码,但这带来了以下解释这些标志的问题:

  1. ENABLED和 和有什么不一样ENABLED_BY_DEFAULT

  2. 它是什么SE_PRIVILEGE_USED_FOR_ACCESS以及如何使用?

  3. 如果两者SE_PRIVILEGE_ENABLEDSE_PRIVILEGE_REMOVED设置了怎么办?或者,重置?

  4. 我只是运行了一个简单的测试,并且对于我的过程,SeShutdownPrivilege特权将这些属性设置为0. 那么这应该是什么意思呢?

我对这个结构更加困惑,但我现在只讨论这些点。

谢谢!

0 投票
1 回答
384 浏览

driver - 如何在 Windows 内核驱动程序中将文本 SID 转换为 SID 结构?

我的内核驱动程序应该从注册表中读取文本格式的 SID 并将其转换为 SID 结构以供后续使用。

内核驱动程序是否有任何ConvertStringSidtoSid()类似物?

我知道我可以解析文本并手动构建它,但它看起来像通常的任务。通过搜索找不到任何东西。

0 投票
2 回答
331 浏览

windows - windows如何终止进程?

我正在 Windows 中开发一个应用程序,它应该在进程终止之前运行代码。我可以编写一个内核模块来实现这一点。但是我应该使用哪些功能?

为了获得有关进程终止的通知,我正在这样做。

我的问题是目标进程在我的函数 handleProcessTermination() 完成之前退出。我想要一种方法来停止进程的退出并运行我的逻辑。

0 投票
1 回答
981 浏览

windows - 如何将键盘和鼠标输入发送到 Windows 登录屏幕?

我正在开发一个需要在 Windows 登录屏幕上模拟输入的 Windows 服务。基本上移动鼠标和向前击键。该服务将以完全权限运行,因此这不是问题。我查看了 SendInput,但它仅适用于当前会话。我知道有各种类型的工具可以实现这种功能,例如远程协助工具就是一个例子,它允许 IT 支持人员查看登录屏幕并提供输入,所以它绝对是可行的,但是如何?

0 投票
1 回答
983 浏览

certificate - GoDaddy 内核模式驱动程序签名 - 系统错误 577

我是 Windows 驱动程序和生产使用所需的签名程序的新手。

我最近购买了一个 GoDaddy 驱动程序签名证书,他们向我保证它应该适用于内核模式驱动程序,但是我似乎无法让它工作。

编译后,我使用以下命令使用 signtool 对 .cat 文件进行签名:

这成功完成,我使用以下命令验证证书:

上述命令的输出表明成功。你可以看到下面的输出

交叉证书部分似乎很好。我从网上发现的类似输出(从 GlobalSign 签名)中注意到,签名证书链也一直延伸到 Microsoft 代码验证根。这可能是问题吗?如果是这样,我将如何解决这个问题?

安装 .inf 很顺利,但是当我使用

我得到错误:

如果我重新启动并强制执行驱动程序签名,则上述命令可以正常工作并且驱动程序可以正常工作。我还检查了 C:\Windows\System32\DriverStore\FileRepository 中的文件在安装后也以相同的方式签名。

有谁知道为什么签名不起作用,或者我该如何解决这个问题?

先感谢您!

0 投票
1 回答
1165 浏览

vb.net - WinForms 深度嵌套控件调整内核大小错误 - 拆分器面板无法正确缩放控件

(最初对 nested 的猜测被证明是不正确的。问题似乎是 SplitContainer 面板无法正确缩放其托管控件。)


我有一些表单的选项卡控件在加载时无法正确调整大小。https://support.microsoft.com/en-us/kb/953934在 2008 年描述了这样一个内核错误。很难相信它还没有得到修复。我认为它消失了一段时间,但我开始再次看到问题。

控件嵌套得很深。Midi 父窗体、子窗体、选项卡控件、带有两个面板和控件的拆分器控件。对于自上而下的第一个有问题的控件是选项卡控件。当表单在加载后调整大小但锚点不正确并且部分控件被剪裁时,它会调整大小。

该问题似乎特定于 100% 桌面字体大小 - 具有 100+ 大小的桌面可以正常工作。我使用 VS 2013 v5 以 125% 的速度开发 - 这个问题也出现在 v4 上。

任何人都知道缺少知识库文章中概述的自定义控件的工作吗?

还有什么我错过了?


更仔细地观察它,SplitContainer 是不调整大小/尊重锚点的控件。


我尝试在显示选项卡后运行此代码,但它不起作用 - 看起来与使用锚点大致相同。似乎 TabControl 报告了不正确的 ClientSize


这是显示问题的完整表格。在 125% 桌面上,它在 IDE 中显示为 100% 桌面上的选项卡上的控件未正确定位。

0 投票
0 回答
367 浏览

c++ - 如何在 Windows 7+ 上对虚拟声音输出设备进行编程?

我想在 Windows 7+ 上添加一个新的声音设备,以便我可以重定向网络上的计算机声音(例如使用我自己的协议或PulseAudio)。

基本上,我想我想编写一个内核驱动程序,向操作系统公开一个新的声音输出设备。如果有一种方法可以编写驱动程序,这样我只需要处理一个简单的样本缓冲区输入就可以处理它会很棒(越简单越好)。我不太关心延迟,我只是希望它对系统和运行的应用程序尽可能透明,以便一切都通过这个开箱即用的虚拟设备。

我在 Linux 内核开发方面有一些经验,但我对 Windows 驱动程序开发几乎一无所知。我有一个真正的 Visual Studio 2013 终极版,我想以 Windows 7 为目标(上面会很好,但它必须在 W7 上工作)。

我想知道我应该使用哪个 API/框架/系统来实现我的目标,并可能链接到开发资源以帮助我入门。

0 投票
1 回答
165 浏览

windows - Windows 内核调试 - 全职使用它的缺点?

在需要禁用 64 位 Windows 内核补丁保护(在调试模式下运行时禁用)的假设世界中,在调试模式下永久运行系统是否有任何缺点或影响?

具体来说,性能是否受此影响?或者调试系统的用户可能会遇到任何特定的限制?

如果在启用内核模式调试的情况下启动,除了 KPP,内核或系统整体会改变哪些行为?Windows 7、Windows 8/8.1 和 Windows 10 的答案是否不同?