草庐IT

内核编程

全部标签

windows - 以编程方式编辑 Windows 8 上的 BCD 存储?

在WindowsVista+上,BCD引导数据存储在HKEY_LOCAL_MACHINE\BCD00000000下的注册表中。BCDEDIT命令行工具只是以可读的方式呈现该数据。因此,从理论上讲,任何以管理员身份运行的用户编程应用程序都应该能够以与BCDEDIT.EXE相同的方式编辑该存储,对吗?DWORD结果=RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("BCD00000000\\Objects\\..."),0,KEY_SET_VALUE,&hKey);然而,当我运行此(在管理员帐户下)时,结果值为0x5(访问被拒绝)。我在这里遗漏了什么,还是没有办法

windows - 网络 MIDI 编程

我正在尝试构建一个允许输入电吉他或其他MIDI输入的网络程序。我的问题是,“这可能吗”,您更喜欢哪种编程语言?提前致谢 最佳答案 看起来这是可能的。Jazz-soft有一个浏览器插件,它添加了低级MIDI支持。http://jazz-soft.net/WebMIDI是一个支持MIDI协议(protocol)的API,使Web应用程序能够枚举和选择客户端系统上的MIDI输入和输出设备,并发送和接收MIDI消息。http://www.w3.org/TR/webmidi/一些网络搜索也发现了一个叫做WebMIDIAPIPolyfill的东

c++ - 以编程方式获取 powershell.exe 的完整路径

我需要获取Powershell.exe的完整路径(绝对路径)才能在我的代码中运行powershell脚本。谁能建议我使用任何库或内置方法来执行此操作。我在windows.h中尝试了boost文件系统的absolute()方法和getFUllPathName()方法。但我设法得到的只是我项目的当前工作目录。 最佳答案 或者(如果您不喜欢依赖环境变量)您也可以查询注册表。Powershell在安装时写入了一个FriendlyTypeName值,在我的机器上是@"%systemroot%\system32\windowspowershel

windows - 从批处理文件以编程方式更新 PATH 中的文件夹

(我认为这个问题没有完全相似的匹配)我需要为Windows(XP和7)创建一个批处理文件,它将:安装Python检查PATH中先前python文件夹的任何实例(通常是C:/Python2x、C:/Python3x、C:/Python2x/Scripts、C:/Python3x/Scripts)从PATH中永久删除所有这些文件夹在系统/环境变量的PATH中永久添加C:/Python/Scripts和C:/Python使用批处理脚本是否可以做到这一点?我在上一个问题中读到我可以使用setx永久设置变量,但我正在努力匹配部分。 最佳答案

c++ - 如何在 Windows 内核模式下获取进程使用的 CPU 时钟周期?

正如标题所暗示的,我对获取仅在内核模式下进程使用的CPU时钟周期很感兴趣。我知道有一个名为“QueryProcessCycleTime”的API可以返回CPU时钟进程的线程使用的周期。但这个值包括在用户模式和内核模式下花费的周期。我怎样才能获得仅在内核模式下花费的周期?我需要使用性能计数器来获取它吗?如果是,我应该使用哪一个?预先感谢您的回答。 最佳答案 我刚刚发现一篇有趣的文章,几乎描述了您的要求。在MSDNInternals上.他们在那里写道,如果您使用的是C#或C++/CLI,您可以轻松地从System.Diagnostic.

c - 从内核驱动程序到达内核 session 空间

我正在编写一个内核驱动程序,它应该读取(在某些情况下还写入)内核session空间(win32k.sys)中的一些内存地址。我读过另一个主题,例如在Windbg中,我应该将上下文更改为随机用户进程以读取内核session空间的内存(使用.process/p)。我怎样才能在内核驱动程序中做到这一点?我应该创建一个与驱动程序通信的用户进程(这是我现在的想法,但我希望有更好的解决方案)还是有更简单的解决方案? 最佳答案 session空间未映射到系统地址空间(驱动程序共享,如果未附加到任何进程)。这就是为什么您在访问win32k时出现蓝屏

windows - 故意使内核崩溃

有什么方法可以故意让内核崩溃(例如,内核崩溃、蓝屏、黑屏或其他)。假设我可以更改任何寄存器并拥有系统的管理权限。我想在Windows和Linux平台上演示这一点。感谢您的任何意见! 最佳答案 在Linux中,您必须使用CONFIG_MAGIC_SYSRQ选项编译内核,然后您可以通过将crash命令写入/proc/sysrq-trigger来使内核崩溃,或者按Alt+SysRq+C。查看documentation了解详情。在Windows中,您必须为键盘驱动程序设置CrashOnCtrlScroll注册表项,然后重新启动,然后您可以按

Windows 内核模式又名 SYSTEM 特权?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭8年前。Improvethisquestion我可以说在SYSTEM权限下运行的进程(比如cmd.exe)正在内核模式下运行吗?我的意思是,这些概念(在SYSTEM权限下运行的进

windows - 如何在 WinDBg 中启用内核跟踪

我已经提到了这个post:但没有帮助。发行edKd_DEFAULT_Mask8没有引起任何变化。而且我不知道如何在此处添加DWORDHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\DebugPrintFilter调用了值为8的DEFAULT,因为我在我的注册表下看不到DebugPrintFilter?我有办法验证是否安装了我的硬件的调试驱动程序,但即使在验证之后,我似乎也无法在windbg中获得内核跟踪。有一个工具叫DbgView.exe,因为我启用了以下捕获选项:CaptureWin32Captur

c++ - Winsock : Echo server replying twice,,当我刚刚将它编程为执行一个 send() 调用时

我正在用C++为Windows做一个简单的TCP服务器来回显传入的数据。我有问题。在我解释我的问题之前,我必须说Winsock设置正确并且任何IP地址作为源都会发生这个问题。建立连接时的一般行为是这样的:Intheloopthatrunswhileconnectionstillalive,itmustechodata,andprecedeitwithREPLYword.为此,我目前正在使用两个send()调用:一个电话单独发送“REPLY”。另一个调用只是发回接收到的数据。但是使用PuttyClient,我得到了这个:回复data_echoed回复。如果是第一个,为什么在最后一个发送调