草庐IT

log_file

全部标签

windows - 为什么我不能使用 FILE_FLAG_BACKUP_SEMANTICS 打开 GENERIC_ALL 或 FILE_ALL_ACCESS 文件?

我正在尝试使用FILE_FLAG_BACKUP_SEMANTICS来绕过文件权限,但如果我请求GENERIC_ALL或等效的FILE_ALL_ACCESS它就不起作用作为访问掩码。CreateFile函数返回ERROR_ACCESS_DENIED。例如,h=CreateFile(L"c:\\working\\backup-semantics-test\\xyzzy\\test.txt",FILE_ALL_ACCESS,FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_FLAG_BACKUP_S

windows - lnk1104 : cannot open file 'libpng.lib' , 但 'libpng.lib' 是输出,不是输入

我正在尝试将libpng-1.16.6构建为VS2010的静态库。我想我已经排除了makefile语法问题、文件系统权限和不正确的LIB/LIBPATH环境变量。makefile是未更改的makefile.vcwin32随lpng1616一起交付。我确定问题是环境问题,但我不知道它是什么。我正在寻找新的想法!TIA寻求任何帮助。相关事实:总体模式与我用于构建geos、gdal和wxWidgets开源项目的模式相同:VisualStudio生成文件项目调用Windows命令文件。Windows命令文件执行任何所需的预处理,调用vcvarsall.bar来设置VS构建环境,调用nmake,

c - 使用和不使用 FILE_FLAG_NO_BUFFERING 的 NTFS 文件访问时间

我正在尝试对NTFS的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于4096字节(系统上NTFS的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复该过程,直到到达文件末尾。我目前使用的文件大小是40K,所以得到10个时差值。当访问没有FILE_FLAG_NO_BUFFERING打开的文件(使用CreateFile)时,第一个block的访问时间接近30微秒,然后下降到大约7微秒用于后续访问(由于缓存)。当使用FILE_FLAG_NO_BUFFERING时,第一个block的访问时间接近21毫秒,随后的访问时间下降到大约175微秒。第一个bloc

windows - FILE_FLAG_NO_BUFFERING 如何与向通信设备打开的句柄交互?

正如标题所说,我正在编写一个网络程序,我在其中使用CreateFile打开网络驱动程序的句柄,并且我一直在试验NO_BUFFERING标志。大多数文档甚至都不会提及将其与通信设备一起使用,而那些这样做的文档(又名MSDN引用等)只是简单地提到您可以。有谁知道这会如何影响与设备的通信? 最佳答案 这是一个设备驱动程序实现细节,您在CreateFile()调用中指定的选项在IRP_MJ_REQUESTrequest中传递.我链接的那个是用于文件系统的,非常漂亮。通过IrpSp->Parameters.Create.Options链接单击

Windows 上的 node.js 经常失败并显示 'EMFILE: too many open files'

在Windows上使用各种工具时,例如browserify,我经常看到:Error:EMFILE:toomanyopenfiles,open'C:\Users\mike\Documents\myapp\node_modules\babel-polyfill\node_modules\core-js\package.json'atError(native)与Linux不同,最大打开文件数是一个可以更改的软限制,似乎EMFILE是Windows中的硬限制。我该如何解决这个问题?注意:我已经解决了这个问题,但是花了一个星期的时间,我在网上搜索时找不到任何东西,所以我准备把答案放在下一个nod

c# - 在 C# 服务应用程序中配置 log4net 的步骤

我对如何在Windows服务项目中配置log4net感到非常困惑。除此之外,我是VisualStudio配置的新手。所以,我已经创建了这个Windows服务应用程序,我想向它添加log4net。所有说明都不同,一个答案据说包括装配信息的以下行。另一个答案是将其添加到AssemblyInfo.cs(在您的App_Code文件夹中)。那么这是否意味着我需要在我的源文件夹中添加一个名为AssemblyInfo.cs的类,然后将这一行添加到构造函数中?我不知道那是什么意思![assembly:log4net.Config.XmlConfigurator(ConfigFile="log4net.

c# - 如何在 C# 中使用 TaskScheduler 设置 “run only if logged in” 和 “run as”?

我正在尝试使用c#TaskSchedulerManagedWrapper以编程方式在Windows系统上生成计划任务。我可以生成任务,但我无法让它仅在帐户登录时运行:我一直在四处寻找,我发现了去年提出的另一个SO问题,但要么有其他未提及的相关设置,要么代码库中的某些内容从那时起发生了变化:Howtoset"runonlyifloggedin"and"runas"withTaskSchedulerinC#?我认为这种方法可能是正确的,但是当我尝试它时,我收到了一条令人困惑的错误消息:TaskScheduler2.0(1.2)doesnotsupportsettingthispropert

java - 为什么我的应用程序放在 C :\Program Files on windows 10 but not on windows 7? 时需要管理员权限

我的JavaRCP应用程序(App.exe)最近从32位转换为64位。由于它是一个64位应用程序,我使用NSIS创建了一个安装程序,它将所有必需的文件与App.exe一起转储到C:\ProgramFiles中。当App.exe运行时,当应用程序试图在编辑模式下打开文件(在C:\ProgramFiles中)以转储结果/日志时,我收到安全异常(访问被拒绝)。当我以管理员身份运行App.exe时,它工作正常。即使在非管理员模式下运行,它在Windows764位机器上也能正常工作。知道如何在非管理员模式下运行App.exe吗?Note:ThisisnottheproblemofNSISassa

c++ - CMake 生成的程序无法在 Windows 上链接 : tries to link to non-existent file

我正在尝试在Windows上编译一个非常简单的测试程序,但不断收到链接器错误。要链接的程序如下:#includeintmain(){boost::asio::io_contextcontext;}虽然CMakeLists.txt看起来像这样:cmake_minimum_required(VERSION3.10FATAL_ERROR)project(windows-test)SET(CMAKE_CXX_STANDARD17)find_package(Boost1.6.7COMPONENTSsystem)include_directories("${Boost_INCLUDE_DIRS}"

windows - Log4net 滚动文件具有旧的修改和访问时间戳

我正在使用log4net的RollingFileAppender进行日志记录,它按预期工作,除了滚动文件的上次修改或访问日期时间没有更新,即使文件已重命名为[filename.log].[number]扩展名(翻了个身)。请检查此链接。https://imgur.com/a/znIhNh7我有另一个模块每2小时收集一次更新的日志文件,问题是如果上次修改日期时间或访问日期时间没有更新,那么我无法确定如何获取更新的日志文件。我遇到了这个问题:https://blogs.technet.microsoft.com/filecab/2006/11/07/disabling-last-acces