1

win32file.CreateFile()用来打开我在进程资源管理器中看到的“文件”。有问题的文件是(如 proc explorer 的句柄和 dll 视图中所示):“\Device\ccSet_{}”

Q1。任何人都可以阐明什么是\Device\<file name>. 我相信这些显然不是存储在某处硬盘上的文件。除非我错了,他们是什么?

Q2。当我尝试按原样使用路径时win32file.CreateFile(),它给了我一个错误“系统找不到指定的路径或文件”。我哪里错了。

Q3。给定上述文件对象的地址(再次来自 proc explorer),我可以在不指定路径的情况下读取文件吗?

我正在使用的单行代码是:

>>> win32file.CreateFile("Device\<filename>",w
in32con.GENERIC_READ|win32con.GENERIC_WRITE,win32con.FILE_SHARE_READ|win32con.FI
LE_SHARE_WRITE,None,win32con.OPEN_EXISTING,0,0)
4

1 回答 1

4
  1. \Device\XXX 名称是内部 Windows NT 设备名称。
  2. 前缀将\\.\访问 Win32 设备命名空间而不是 Win32 文件命名空间。例如,要打开 COM10,您需要使用\\.\COM10.
  3. 该句柄仅在打开它的进程内有效。
于 2012-07-23T23:19:42.717 回答