草庐IT

file-uri

全部标签

c++ - 具有重叠 I/O 的 FILE_FLAG_NO_BUFFERING - 字节读为零

我在使用带有重叠I/O的标志FILE_FLAG_NO_BUFFERING时观察到一个奇怪的行为。我调用了一系列ReadFile()函数调用,稍后使用GetOverlappedResult()查询它们的状态。我所说的奇怪行为是,即使文件句柄良好并且ReadFile()调用返回时没有任何错误(预期的ERROR_IO_PENDING除外),从GetOverlappedResult()调用返回的“字节读取”值是某些文件为零,每次我运行代码时,它都是一组不同的文件。如果我删除FILE_FLAG_NO_BUFFERING,事情就会开始正常工作,并且没有字节读取值为零。下面是我如何使用FILE_FL

windows - 批处理文件 : Using "start" Command to Start a batch file on a specific label

在这个批处理文件中,存在超过25个标签,每个标签用于不同的目的..特别是名为“:beep”的标签,它会在计算机中发出哔哔声。我想安排这个批处理文件的开始,但只有标签“哔”,或者可能是另一批,但仅以标签“哔”开始。我已经使用了“调用命令”,这不是我需要的。有谁知道如何使用“开始”命令在特定标签上运行批处理文件吗?例子:启动C:\interface.cmd[gotobeep] 最佳答案 好的,所以如果没有其他参数,只需将beep作为参数传递,例如batchfilebeep并有一行goto%1如果您还需要传递其他参数,是时候发挥更多创意了

Java Runtime exec 方法在使用自定义 URI 时抛出错误

我正在使用命令提示符运行此命令,它运行良好:没有任何问题:startdemo:"-ping-ip172.18.102.65"在上面的命令中,demo:是customuri这是我创建的,我正在将参数传递给那个自定义uri,它是-ping,-ip和做这个customuri工作。但是当我使用这段代码运行相同的命令时,它就不起作用了:Runtime.getRuntime().exec(newString[]{"cmd.exe","/c","start","demo:\"-ping-ip172.18.102.65\""});我收到一条错误消息:WindowsCannotfind'-ping'请建

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,

java - 将自定义 uri 方案与适用于 Windows 的 Java 自包含应用程序相关联

我有一个独立的JavaFX应用程序。为了改善用户体验,我希望用户单击浏览器上的按钮/链接并启动应用程序。就像torrent的磁力URI一样,该链接包含启动应用程序所需的元数据。有没有办法为JavaFX应用程序生成可执行文件以与自定义URI关联,就像与torrent应用程序关联的磁铁URI一样。 最佳答案 以下是如何将自定义URI与应用程序相关联。我已经有一个生成原生包的任务。第一步是在您的ant任务中启用verbose,这样您就可以找到构建路径。如前所述here,在6.3.3中启用详细并查找.iss构建目录中的文件,通常是AppDa

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

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