问题标签 [createfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1200 浏览

windows-vista - 如何使用 UAC 在 Vista 中获取文件的实际路径?

我正在调用 CreateFile() 在 Program Data 目录中创建一个文件。我正在使用 SHGetSpecialFolderPath() 来获取目录名称。

我有一个 Vista 用户,其 CreateFile() 返回错误 5(拒绝访问)。如果我知道 CreateFile() 实际尝试创建文件的位置会有所帮助,这样我们就可以检查他的文件夹权限。Vista (UAC) 的问题是,它没有尝试在我传入的目录中创建文件。它也可能在 VirtualStore 目录中。另一个令人困惑的原因是该用户是德国人,尽管 SHGetSpecialFolderPath() 返回“C:\Program Data\blah blah”作为路径,但我认为这实际上不是路径所在的位置。我认为 German Vista 使用德语单词来表示“程序数据”。我希望能够告诉用户“这是我们尝试创建文件的确切路径。检查您对此文件夹的权限。”

我知道您可以从打开的文件句柄中获取路径,但在这种情况下 CreateFile() 失败,所以我没有打开的句柄。如何让 Vista 告诉我它试图创建文件的实际路径?

0 投票
2 回答
2906 浏览

c++ - 使用 CreateFile 打开一个套接字

我们有一些旧的串行代码,只需打开然后关闭它即可检查串行端口是否可用。现在我们正在向应用程序添加网络支持,我想通过提供 ip 地址作为字符串来重用该功能。

我知道我可以先使用 connect 然后关闭,但我想以最少的更改重用该功能。如果我能重用这个功能就更好了。如果不是,那么我将不得不编写代码来确定它是否是套接字。

我想知道通过 CreateFile 打开套接字的正确方法是什么?

0 投票
1 回答
1782 浏览

sharepoint - SharePoint 通过 Web 客户端服务 (webclnt.dll)。CreateFile 失败

我有一个创建和编辑文档的应用程序。我需要将它与 SharePoint 集成,以便用户可以使用我的应用程序编辑 SharePoint 服务器上的文件。我的环境是 Visual C++,非 MFC Windows 应用程序。

我正在尝试 Web 客户端服务 (webclnt.dll),看看我是否可以让我的应用程序以最少的代码更改工作。这适用于记事本等(只需给它一个指向共享点文档的 URL,Web 客户端拦截文件 I/O 请求并将其重定向到网络)......但我的应用程序无法使用“GetLastError”代码调用 CreateFile 123:

有谁知道这是为什么?我将 CreateFile 传递给该文件的有效完整 URL。我查看了可以传递给 createFile 的选项,我没有看到任何看起来会放松文件名验证的东西。

0 投票
3 回答
2550 浏览

winapi - Windows 中 CreateFile 的默认缓冲区大小是多少?

当调用 CreateFile 函数时没有标志 FILE_FLAG_NO_BUFFERING,操作系统内部缓冲区的大小是多少?

如果我的缓冲区大小大于 Windows 的内部缓冲区,我可以完全使用磁盘的吞吐量吗?

0 投票
4 回答
8232 浏览

windows-7 - Windows7 中的 CreateFile 错误

我注意到,如果CreateFile函数的路径参数以目标为目标\Windows\System32\,则调用失败并出现以下错误代码ERROR_PATH_NOT_FOUND

文件路径是正确的,我是文件夹的所有者,所以问题是为什么调用失败?MS是否添加了禁止访问文件夹的特殊策略?

示例代码:

0 投票
3 回答
875 浏览

c++ - 将文件保存到网络

我有一个大约 7 MB 的文件,可以在几秒钟内保存到我的本地共享中。但是,将该文件保存到网络位置需要几分钟。我想知道我能做些什么来加快这个速度。这是我目前的选择:

  1. 将数据保存到本地计算机上的临时文件中,然后将临时文件复制到网络路径。我可能会这样做,因为这是最简单且最划算的。
  2. 使用SetFilePointerEx()SetEndOfFile()。根据这个问题的答案,我认为这可能很有用:在 Windows 上创建大文件
  3. 缓冲区写入。我可以自己缓存写入数据并在缓冲区已满时刷新,但这与操作系统已经完成的缓存不是多余的吗?

#1 似乎是最好的选择,但我想知道是否有人对加快保存到网络路径的更好方法有任何建议?

编辑:网络在千兆局域网上,所以速度应该不是问题。将文件复制到网络路径大约需要 1 秒。我只是注意到我们在较小的数据块上调用 WriteFile() ,然后我们可能应该这样做,因此优化更高级别的代码以编写更大的块可能会有所帮助,但速度差异仍然如此显着,这仍然是一个值得提出的问题.

0 投票
1 回答
256 浏览

filenames - 使用文件名列表创建文件并向每个文件添加内容

我需要制作一堆重定向页面,因为我最近更新了以前使用 .html 文件的网站,现在所有文件都是 .aspx。我有一个制表符分隔的文件,其中包含原始文件名列表和相应的新文件名。

似乎应该有一种语言,我应该能够使用第一列作为文件名创建文件,并插入第二列作为其内容,并为 301 重定向添加一些附加文本。

有人可以为我指出正确的方向,什么语言可以做到这一点吗?此外,如果您还可以指出我将使用的方法/函数的名称,那么我知道在创建文件时从哪里开始。

我需要多次做这类事情,并且愿意学习一门新语言(Perl、Python 或其他)来完成此任务,但我只需要指出正确的方向。我正在使用 Windows XP 进行开发。

感谢您的时间。

0 投票
3 回答
1098 浏览

java - Java:制作目录的正确方法

目录 some_folder、some_folder_1、some_folder_2 和 some_folder_3 最初不存在。

这是一个很好的方法吗?

0 投票
2 回答
767 浏览

.net - 如何检查一个目录是否可以在 VB.NET 中重命名?

我的想法是使用 kernel32 中的 CreateFile 并检查共享违规。我相信这会起作用,因为我在从 CMD 发出重命名命令时使用 Process Monitor 观察了文件系统活动,我知道该命令会失败,最后一个活动是 CreateFile 调用失败,导致共享冲突。

这是调用的进程监视器信息。

使用这个 VB 代码,我产生了一个调用,它在进程监视器中提供了相同的信息,但没有导致共享冲突。

这些常量是从各种MSDNpinvoke.net源中提取的。

如果我在所有子文件夹上递归调用上述代码,最终会导致共享冲突,但是当 CMD 拒绝重命名时,它并没有递归。

是的,我知道我可以尝试捕获异常。但是我想知道目录是否可以重命名的点和我想重命名目录的点是不一样的。

编辑:

这个问题可能存在混淆的根源。我不关心权限;我担心文件锁。

0 投票
3 回答
2318 浏览

device - NSFileManager 在模拟器上运行良好,但在设备上运行良好

我在 iPhone 设备上使用 NSFileManager 创建目录和文件时遇到问题。我的代码如下所示,在模拟器上运行良好,但在设备上运行良好,您能帮帮我吗?给我一些可能的问题的方向,谢谢你的每一个回复..

我首先以这种方式创建目录:

然后我尝试以这种方式在此目录中创建新文件:

整个 NSFileManager 似乎有问题,因为当我使用 fileExistAtPath 时,它给出的路径是

它也不起作用,我试图将目录更改为 NSDocumentsDirectory 但它没有帮助