在一个循环的物理设备路径上调用CreateFile
-
19-09-2019 - |
题
我有一个是每次调用CreateFile不同的物理装置上的路径通过一个循环(即\。\ PhysicalDrive1,然后\。\ PhysicalDrive2,...)通过PInvoke的,然后使用返回的句柄做一些一些C#代码其他低级别窗口的东西。在循环结束时它在手柄上调用CloseHandle的。
在调试我注意到,在手柄的int值是一样的每次通过循环。我可以看到这是两种预期(窗口只是重复使用手柄)或意外(手柄,警方没有公布最后一关)。
所以,我只是想验证这是否是预期的(或至少没有不正确的)行为。
解决方案
一个手柄只是一个索引到一些进入一些表在内核。如果您要打开和关闭重复的句柄,这是完全有可能它来获取表完全相同的条目,并因此具有相同的指数。
请注意,这是实现特定的,可与任何新发布的服务包或QFE改变。
不隶属于 StackOverflow