FindNextFile 在 64 位 Windows 上失败?

2024-03-29

使用 C++Builder 2007,FindFirstFile 和 FindNextFile 函数似乎无法在 64 位版本的 Vista 和 XP 上找到某些文件。我的测试应用程序是 32 位的。

如果我使用它们遍历文件夹 C:\Windows\System32\Drivers,它们只会找到少数文件,尽管当我在命令提示符中发出 dir 命令时有 185 个文件。使用相同的示例代码可以在 32 位版本的 XP 上列出所有文件。

这是一个小示例程序:

int main(int argc, char* argv[])
{
  HANDLE hFind;
  WIN32_FIND_DATA FindData;
  int ErrorCode;
  bool cont = true;

  cout << "FindFirst/Next demo." << endl << endl;

  hFind = FindFirstFile("*.*", &FindData);
  if(hFind == INVALID_HANDLE_VALUE)
  {
    ErrorCode = GetLastError();
    if (ErrorCode == ERROR_FILE_NOT_FOUND)
    {
      cout << "There are no files matching that path/mask\n" << endl;
    }
    else
    {
      cout << "FindFirstFile() returned error code " << ErrorCode << endl;
    }
    cont = false;
  }
  else
  {
    cout << FindData.cFileName << endl;
  }

  if (cont)
  {
    while (FindNextFile(hFind, &FindData))
    {
      cout << FindData.cFileName << endl;
    }

    ErrorCode = GetLastError();
    if (ErrorCode == ERROR_NO_MORE_FILES)
    {
      cout << endl << "All files logged." << endl;
    }
    else
    {
      cout << "FindNextFile() returned error code " << ErrorCode << endl;
    }

    if (!FindClose(hFind))
    {
      ErrorCode = GetLastError();
      cout << "FindClose() returned error code " << ErrorCode << endl;
    }
  }
  return 0;
}

在 64 位 XP 上的 C:\Windows\System32\Drivers 文件夹中运行它会返回以下内容:

C:\WINDOWS\system32\drivers>t:\Project1.exe
FindFirst/Next demo.

.
..
AsIO.sys
ASUSHWIO.SYS
hfile.txt
raspti.zip
stcp2v30.sys
truecrypt.sys

All files logged.

同一系统上的 dir 命令返回以下内容:

C:\WINDOWS\system32\drivers>dir/p
 Volume in drive C has no label.
 Volume Serial Number is E8E1-0F1E

 Directory of C:\WINDOWS\system32\drivers

16-09-2008  23:12    <DIR>          .
16-09-2008  23:12    <DIR>          ..
17-02-2007  00:02            80.384 1394bus.sys
16-09-2008  23:12             9.453 a.txt
17-02-2007  00:02           322.560 acpi.sys
29-03-2006  14:00            18.432 acpiec.sys
24-03-2005  17:11           188.928 aec.sys
21-06-2008  15:07           291.840 afd.sys
29-03-2006  14:00            51.712 amdk8.sys
17-02-2007  00:03           111.104 arp1394.sys
08-05-2006  20:19             8.192 ASACPI.sys
29-03-2006  14:00            25.088 asyncmac.sys
17-02-2007  00:03           150.016 atapi.sys
17-02-2007  00:03           106.496 atmarpc.sys
29-03-2006  14:00            57.344 atmepvc.sys
17-02-2007  00:03            91.648 atmlane.sys
17-02-2007  00:03           569.856 atmuni.sys
24-03-2005  19:12             5.632 audstub.sys
29-03-2006  14:00             6.144 beep.sys
Press any key to continue . . .
etc.

我很困惑。这是什么原因呢?

Brian


是否有重定向发生?参见Wow64DisableWow64FsRedirection的备注http://msdn.microsoft.com/en-gb/library/aa365743.aspx http://msdn.microsoft.com/en-gb/library/aa365743.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FindNextFile 在 64 位 Windows 上失败? 的相关文章

随机推荐

  • ActionBar.Tab 类型已弃用

    我正在尝试在 Eclipse 中创建滑动选项卡 但是当我导入时android app ActionBar Tab 它警告我导入 ActionBar Tab 类型已弃用 它使我的大部分代码成为警告并删除它 import android sup
  • 当浏览器忙于执行一些长时间运行的 JavaScript 时,WebDriver API 阻塞行为

    我在文档中的某个地方读到 WebDriver API 是非阻塞的 除了一些像 driver get 的 API 因此 执行 WebElement click 或 isDisplayed 通常应该是异步的 当然 假设启用了本机事件 我有一个简
  • Django:渲染快捷函数中的 context_instance 参数有什么用?

    有关 渲染 快捷方式的文档 https docs djangoproject com en 1 3 topics http shortcuts render 根据上面的链接 上下文实例参数定义为 用于渲染模板的上下文实例 默认情况下 模板将
  • 查找张量中沿轴的非零元素的数量

    我想找到沿特定轴的张量中非零元素的数量 有没有 PyTorch 函数可以做到这一点 我尝试使用非零 http pytorch org docs master torch html highlight nonzero torch nonzer
  • NSMutableArray 在 iPhone 应用程序中使用 NSLog 时不显示实际值

    我正在做一个数组的 NSLog 但它显示以下值而不是数据 我不知道如何解决这个问题并从数组中获取值 if surveyQuestions surveyQuestions NSMutableArray alloc init Total Sur
  • pandas 中没有“from_csv”方法

    当我尝试使用时from csvpython 3 7 中的方法 我收到归因错误 import pandas as pd pd DataFrame from csv adr AttributeError type object DataFram
  • 从javascript中的日期获取月份数

    我有一个 daterangepicker 函数 它以 2016 年 5 月 6 日的格式返回选定的日期 我想要做的是将月份提取为整数 因此从上面我应该能够返回数字 5 这是返回所选日期的代码行 getDateString new Date
  • 列表理解创建嵌套列表

    我想创建每月天数列表每年列表的嵌套列表 31 29 31 30 31 28 31 30 with mm 1 2 3 4 yy 2012 2013 但我的代码 result append calendar monthrange y m 1 f
  • 透明菜单/导航栏

    我无法解决 CSS 问题 我有一个应该是透明的导航栏 但由于不透明度属性以及它们是透明导航栏的子元素 其上的链接也会变得透明 你能帮我解决这个问题吗 如果您不希望链接文本受到影响 您应该修改以下规则 容器选择器看起来像这样 containe
  • 使用wireshark或其他工具绘制RTT直方图

    我有一个小型办公室网络 但我遇到了巨大的互联网链接延迟 我们有一个简单的网络拓扑 一台配置为运行 ubuntu 服务器 10 10 的路由器的计算机 2 个网卡 一个连接互联网 另一个连接办公室网络 和一个连接 20 台计算机的交换机 我在
  • 私有继承 VS 组合:什么时候使用哪个?

    私有继承VS组合 我有点困惑何时使用它们 由于私有继承在某种程度上密封了继承链 给出 class A private int z protected int y public int x class B private A B s data
  • QTreeView自定义各行的行高

    是否可以重新定义某个行中某些单独行的行高QTreeView 我有一个习惯QTreeView 风俗QAbstractItemModel和一个习惯QStyledItemDelegate 但似乎所有的sizeHint方法要么只调用一次 最初 要么
  • 如何在CARET中自定义模型来执行PLS-[Classifier]两步分类模型?

    这个问题是同一线程的延续here https stats stackexchange com questions 81727 what is the best strategy to train and validate classific
  • iOS 错误:“xxxx”没有可见的 @interface 声明选择器“alloc”

    这是我的 TextValidator 类 TextValidator h import
  • 如何在 Spark Java 中遍历/迭代数据集?

    我正在尝试遍历数据集来进行一些字符串相似度计算 例如 Jaro winkler 或余弦相似度 我将数据集转换为行列表 然后使用 for 语句进行遍历 这不是有效的 Spark 方法 所以我期待 Spark 中有更好的方法 public cl
  • 具有多个 url 路径的 CherryPy MethodDispatcher

    是否MethodDispatcher from CherryPy处理多个 url 路径 我正在尝试做类似下面的事情 但是虽然要求 customers工作正常 要求 orders始终返回 404 没有任何内容与给定的 URI 匹配 class
  • Node.js 中的作业队列

    我正在node js 中寻找一个可以由php 调用的作业队列管理器 这是一个需要发送电子邮件 创建 pdf 文件等的 Web 应用程序 我想对这些应用程序执行异步 php 进程 流程示例 用户请求 php 页面 Php调用作业队列管理器并添
  • 如何订购 kif 测试用例序列?

    我使用了最新版本的 KIF 框架并创建了几个测试用例 KIFTestCase 的子类 我可以知道有什么方法可以改变测试运行序列的顺序吗 例如我有 testA m testB m testC m 当我按下 cmd U 进行测试时 如何制作诸如
  • C# 字段命名指南?

    我将自己编写一些 C 代码 但我想确保遵循最广泛接受的命名约定 以防我想引入其他开发人员 发布我的代码或出售我的代码 现在我遵循微软设定的命名约定 因为它们似乎是最广泛接受的 他们没有提到的一件事是私有字段的命名 在大多数情况下 我看到它们
  • FindNextFile 在 64 位 Windows 上失败?

    使用 C Builder 2007 FindFirstFile 和 FindNextFile 函数似乎无法在 64 位版本的 Vista 和 XP 上找到某些文件 我的测试应用程序是 32 位的 如果我使用它们遍历文件夹 C Windows