Son*_*pta 2 winapi event-log visual-c++
使用事件查看器,我可以看到事件日志中包含诸如“驱动程序检测到 \Device\Harddisk1\DR1 上的控制器错误”之类的条目。和“驱动程序在 \Device\Harddisk1\DR7 上检测到控制器错误。”。
使用 VC++ 代码,我想将此设备路径(例如 \Device\Harddisk1\DR1)转换为驱动器号,例如 C: 在适用的情况下(我知道并非所有设备都会映射到驱动器号)。
使用FindFirstVolume和FindNextVolume我能够遍历所有卷,对于每个卷,我使用QueryDosDevice来获取设备名称和GetVolumePathNamesForVolumeName来获取驱动器号。
我遇到的问题是,当我使用上述方法获取设备名称时,我最终得到了设备名称,例如“\Device\HarddiskVolume3”、“\Device\HarddiskVolume2”等。我确实将这些映射到驱动器号。但是,我不确定这些如何映射到我在事件日志条目中看到的设备名称格式。
所以,总而言之,我的问题是:如何将设备名称格式“ \Device\HarddiskVolume%d ”映射到格式“ \Device\Harddisk%d\DR%d ”,其中每个 %d 是一个数字。
小智 5
这不是 C++ 代码,但用 C++ 编写的两个应用程序显示了此信息,至少可以检查您的结果。我不相信这两个应用程序的来源是现成的。
\Device\HarddiskVolume%d在Drive Letter与Device Path列。
\Device\HarddiskVolume%d和\Device\Harddisk%d\DR%dto PhysicalDrive%d。
| 归档时间: |
|
| 查看次数: |
4794 次 |
| 最近记录: |