草庐IT

kernel-mode

全部标签

c++ - Visual Studio 2012 和 2010 - kernel32.lib, windows.h

我刚刚安装了VisualStudio2012和VisualStudio2010。问题是我无法将2010年的简单项目转换为2012年-它们无法链接到kernel32.lib等文件或包含windows等文件。H。我的系统还安装了WindowsSDK7.1。我曾尝试为我的x86和x64用户平台弄乱PropertyManager(因为我在那里添加了适当的$(DXSDK_DIR)引用),结果却喜忧参半-有时它能正常工作,有时它编译但不链接,其他时候它只是停在windows.h例如,目前我得到1>LINK:fatalerrorLNK1104:cannotopenfile'kernel32.lib'

c++ - Intellisense "Toggle Completion Mode"不适用于 Visual Studio 2010 Professional 中的 C++

我在VisualStudio2010Professional的“编辑”->“智能感知”选项卡下使用“切换完成模式”时遇到问题。图片描述得很好。完成模式在C#中工作正常。请帮忙。提前致谢! 最佳答案 无法在C++IntelliSense上打开建议模式(在VS2010和2012中)。MSDNLibrary(对于VS2010)说:SuggestionmodeisavailableinVisualBasicandC#.据报道(link)是VS2012RTM中的错误,Microsoft的回答是:C++Intellisenseonlyhason

windows - 32 位和 64 位 DLL 如何链接到同一个 C :\system32\kernel32. DLL?

我确定64位DLL无法链接到32位DLL。 最佳答案 Wow64有一个文件重定向器。它具有相同的命名dll,但存储在适当的位置。http://msdn.microsoft.com/en-us/library/aa384187(v=vs.85).aspx解释了这个概念%windir%\System32目录是为64位应用程序保留的。大多数DLL文件名在创建64位版本的DLL时没有更改,因此32位版本的DLL存储在不同的目录中。WOW64使用文件系统重定向器隐藏了这种差异。在大多数情况下,每当32位应用程序尝试访问%windir%\Sys

c++ - "LNK1104 Cannot open file ' kernel32.lib ' "当 Windows SDK 版本设置为 15063.13 时

我在VisualStudio2017中使用C++,最近刚刚将Windows10从周年更新更新为创作者更新。无意中发现,在编译DLL项目时,会出现错误信息:LNK1104-无法打开文件“kernel32.lib”在项目属性中稍微调整了一下后,我注意到如果将WindowsSDK版本从10.0.14393.0设置为10.0.15063.0,则会出现错误消息。如果我将它设置回10.0.14393.0,我可以正常编译。我想知道为什么当WindowsSDK版本设置为Creator'sUpdate构建版本时,会抛出此错误消息,但如果设置回AnniversaryUpdate构建版本则不会?谢谢。

windows - 如何在 Windows 故障转移群集管理器 2012 中启用 "persistent mode"?

在WindowsServer2008R2中,在集群资源属性的常规选项卡上有一个名为“启用持久模式”的复选框。在WindowsServer2012中似乎已经消失。我的集群资源是一个“通用脚本”资源(没有任何区别)。如何在WindowsServer2012中为集群资源启用“持久模式”?谢谢 最佳答案 经过进一步调查,在我看来,2012要么默认为“持久模式”,要么被硬编码为“持久模式”,并且他们已禁用使用GUI更改值。 关于windows-如何在Windows故障转移群集管理器2012中启用"

c++ - 为什么即使我设置了 THREAD_MODE_BACKGROUND_BEGIN,我的程序还是资源消耗大户?

我有一个结构如下的程序,它是一个巨大的CPUpig。整个系统的IO变慢,我几乎无法移动鼠标指针......为什么?我认为THREAD_MODE_BACKGROUND_BEGIN应该阻止这种情况?#pragmaompparallel{SetThreadPriority(GetCurrentThread(),THREAD_MODE_BACKGROUND_BEGIN);#pragmaompforfor(...){doTruckLoadsOfComputation();if(omp_get_thread_num()==0)doTinyAmountOfIO();//progressindicat

c - 替代 fopen()'s mode "wx"for Windows fopen()?

我有一个基本程序,旨在复制bash的cp命令的功能。我正在为UNIX和Windows开发一个副本。我的UNIX版本运行良好,但是,我发现Windows不支持fopen()的“wx”模式选项,如以下行所示:file2=fopen(argv[2],"wx");是否有其他方法可以在此处为fopen镜像wx功能模式?(wx允许打开具有写访问权限的文件,但如果已存在具有相同文件名的文件,则会返回错误——这意味着您不会覆盖现有文件。参见here。注意:尝试在VS2013的开发人员命令提示符中运行该程序 最佳答案 简短的回答是,您不能传递“wx”

c - 如何从错误偏移中确定调用的 kernel32.dll 函数

我有一个作为Windows服务运行的应用程序。今天,我被告知该服务已终止。我找到了一个事件查看器条目,其基本信息是:故障模块kernel32.dll,版本6.0.6002.18740,时间戳0x50b58c3d,异常代码0xc0000005,故障偏移量0x0003fc2e我确定我的代码中存在错误。我可以根据偏移量确定kernel32.dll函数(异常来自哪里)吗?我打算回溯到我的代码中的调用。 最佳答案 我同意评论中所说的内容,但无论如何我认为答案可能会有用。如果EventViewer报告了kernel32.dll中失败指令的偏移量

windows - NativeCall 在 Kernel32.dll 中找不到函数

我正在尝试移植thiscode到Perl6。虽然我可以调用GetStdHandle、GetConsoleMode和SetConsoleMode,但当我尝试调用ReadConsoleInput时我的脚本会中断:Cannotlocatesymbol'ReadConsoleInput'innativelibrary'Kernel32.dll'inmethodsetupatC:\rakudo\share\perl6\sources\947BDAB9F96E0E5FCCB383124F923A6BF6F8D76B(NativeCall)line287inmethodCALL-MEatC:\rak

c# - Kernel32.dll 中的 CreateFile 不允许我打开物理磁盘

我正在尝试使用以下代码从PhysicalDrive0获取MBR:privatestaticbyte[]ReadMbr(stringlpFileName){byte[]mbr=newbyte[512];using(SafeFileHandledrive=CreateFile(lpFileName:lpFileName,dwDesiredAccess:(uint)EFileAccess.GenericRead,//DONOTMODIFYTHEMBR!!!dwShareMode:(uint)EFileShare.Write|(uint)EFileShare.Read|(uint)EFileS