阅读:3430回复:3
怎样由 \\Device\\HarddiskVolume# 得到 C: D: 或相反?
请问有没有什么办法得到它呢?或者从 C: 得到 \\Device\\HarddiskVolum# 也可。我的系统是 Win2k。
我用 ZwQueryVolumeInformationFile 取 FileFsObjectIdInformation 但总是提示参数错误,怀疑 2k 不支持? 谢谢各位。 |
|
最新喜欢:![]() |
沙发#
发布于:2003-06-24 12:50
可以使用下面的IO control:IOCTL_STORAGE_GET_DEVICE_NUMBER,
请参阅MSDN。 |
|
板凳#
发布于:2003-06-24 13:05
“\\\\??\\\\D:”实际上是一个符号连接,所以通过以下两个函数可以得到相应的“\\Device\\HarddiskVolum#”值。
ZwOpenSymbolicLinkObject( OUT PHANDLE SymbolicLinkHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes); ZwQuerySymbolicLinkObject( IN HANDLE SymbolicLinkHandle, IN OUT PUNICODE_STRING TargetName, OUT PULONG ReturnLength OPTIONAL); 但是怎样通过“\\Device\\HarddiskVolum#”得到“\\\\??\\\\D:”我就不清楚了。 |
|
地板#
发布于:2003-06-25 11:33
由DeviceHarddiskVolume#得到WIN32盘符,可以试一下函数RtlVolumeDeviceToDosName。
|
|