草庐IT

上下册

全部标签

windows - 设备驱动程序 IRQL 和线程/上下文切换

我是Windows设备驱动程序编程的新手。我知道某些操作只能在IRQLPASSIVE_LEVEL执行。例如,Microsoft有关于如何从内核驱动程序写入文件的示例代码:if(KeGetCurrentIrql()!=PASSIVE_LEVEL)returnSTATUS_INVALID_DEVICE_STATE;Status=ZwCreateFile(...);我的问题是:是什么阻止了在上面的KeGetCurrentIrql()检查之后引发IRQL?假设发生上下文或线程切换,当它返回到我的驱动程序时,IRQL会不会突然变为DISPATCH_LEVEL,然后导致系统崩溃?如果这不可能,那么

windows - C# 当托管线程结束其时间片时,它会引发上下文切换吗?

在Russinovich的书中它说线程(注意:这是关于OS线程)将需要分派(dispatch)(调度)如果它a)准备好b)结束它的时间片、产量或block。我的C#实时应用程序中有一个托管线程,对于实现尽可能少的上下文切换非常重要。此线程具有最高优先级,进程具有实时优先级,这使得我的线程操作系统优先级为31中的26。当我的线程结束其时间片并且没有优先级>=26的等待线程时,我的线程会发生什么?是否会有上下文切换来重新安排我的线程再次运行,或者将避免上下文切换并且线程将不间断地运行?如果有上下文切换-谁能告诉平均需要多少CPU周期?我希望得到简单且明确的答案!谢谢!

windows - 如何在 Windows 中制作上下文菜单子(monad)菜单?

我一直在编写实用程序并通过*的Shell键上的Regedit将它们映射到上下文菜单,但我不知道如何像一些更流行的实用程序那样制作子菜单。例如,如果我有三个脚本来将文件移动和重命名到三个不同的文件夹,那么现在我有三个不同的上下文菜单条目。我更希望有一个名为“移动和重命名...”的扩展到这三个。 最佳答案 您可以通过注册表、WIN7创建上下文菜单的子菜单,如所见hereBackupyourregistryfirstisrecommended!此示例将带有单个命令的子菜单放入任何文件(不是文件夹或桌面)的右键单击上下文中。菜单:[HKEY

c - 超时后如何关闭上下文菜单?

我需要让上下文菜单(当前使用TrackPopupMenu创建)在一段时间不活动后自动关闭。我试图搜索但只找到相反的东西(如何在超时后激活弹出窗口)或特定应用程序的专门内容。我发现唯一接近的事情是枚举桌面的子项,直到找到类名为#32768的窗口——这将是菜单——然后关闭它。我希望有更好、更清晰的方法。有什么建议吗? 最佳答案 发送WM_CANCELMODE向托管上下文菜单的父窗口发送消息。 关于c-超时后如何关闭上下文菜单?,我们在StackOverflow上找到一个类似的问题:

windows - 为来自 delphi 的 PDF 文件添加资源管理器上下文菜单项

我的应用程序是用DelphiXE编写的,可以处理PDF文件。应用程序是Win32。开始时,我想确保PDF文件的资源管理器上下文菜单中有我的项目。我希望能够指定是只为事件用户还是为所有用户添加它(使用UAC我需要以管理员权限重新启动,但没关系)。我从HowtoassociateaDelphiprogramwithafiletype,butonlyforthecurrentuser?开始和Howtoadditemtowindowsexplorercontentmenuindelphi?.我通过regedit通过手动注册表编辑对其进行了测试,它对"new"扩展工作正常。但对于.pdf来说,它

c++ - SetPixelFormat() 中的第三个参数对于 OpenGL 上下文创建有什么意义?

这个问题在这里已经有了答案:WhatisthePIXELFORMATDESCRIPTORparameterinSetPixelFormat()usedfor?(1个回答)关闭5年前。在Windows上创建OpenGL上下文之前,我们需要为Window的设备上下文调用SetPixelFormat。其函数原型(prototype)如下:BOOLWINAPISetPixelFormat(HDChdc,intiPixelFormat,constPIXELFORMATDESCRIPTOR*ppfd);当创建一个固定的函数上下文时,我们通过使用我们想要的像素格式调用ChoosePixelForma

c# - ASP.NET MVC 5 异步上下文管理

我有一个相当标准的MVC5应用程序,由存储库层、服务层和Controller层组成。为了保持每一层的解耦和可测试性,我使用Ninject进行依赖注入(inject)。为了复习新技能,我决定在服务和Controller方法的IO绑定(bind)操作上使用带有异步/等待的新任务Controller操作。通常我只是像这样使用InRequestScope绑定(bind)kernel.Bind().To().InRequestScope();一般来说,这现在工作正常,但是如果我选择调试我的应用程序,或者将多个被跟踪的EntityFramework对象连接在一起并保存,我发现上下文已被处理或者我遇

c# - 当前上下文中不存在名称 '$exception'

今天我在工作中调试一个应用程序。我继续在我的一个catchblock中设置一个断点,以便更详细地检查异常。ViewDetail模态窗口正常打开,但它没有向我显示异常的详细信息,而是抛出一个奇怪的错误,我从未遇到过这个错误,我也不知道它是什么意思:错误说:Thename'$exception'doesnotexistinthecurrentcontext这很令人沮丧,因为我在catchblock范围内,所以我应该能够看到我的异常。重新启动我的应用程序后,我成功地对其进行了调试。这是我唯一一次(到目前为止)遇到此错误。有谁知道这是什么意思,我该如何修复它(无需重新启动应用程序)?注意:我使

c# - 为什么 Await 不会出现阻止对 EF 上下文的第二次操作

在ASP.NETMVC应用程序中,我收到以下关于使用EntityFramework上下文的Controller方法之一的错误消息。Asecondoperationstartedonthiscontextbeforeapreviousasynchronousoperationcompleted.Use'await'toensurethatanyasynchronousoperationshavecompletedbeforecallinganothermethodonthiscontext.Anyinstancemembersarenotguaranteedtobethreadsafe.

c# - 为什么我的 vspackage 的上下文菜单不显示

我已经创建了一个包,我想向代码窗口上下文菜单添加一个菜单。经过一番搜索,我找到了几篇解释如何操作的文章。问题是,我无法让它工作....这是我在vsct文件中的声明:DynamicVisibilitycmdidDataFlowShowdataflow和符号:下面是我在Package类中添加菜单的方法:CommandIDdataFlowCID=newCommandID(GuidList.guidDALGeneratorPkgCmdSet,(int)PkgCmdIDList.cmdidDataFlow);OleMenuCommanddataFlowMenu=newOleMenuCommand