gpt4 book ai didi

winapi - IOCTL_MOUNTDEV_QUERY_UNIQUE_ID 的唯一性

转载 作者:行者123 更新时间:2023-12-05 08:02:39 25 4
gpt4 key购买 nike

关于 IOCTL_MOUNTDEV_QUERY_UNIQUE_ID 的文档有点令人困惑...在 MOUNTDEV_UNIQUE_ID 结构中究竟应该返回什么类型的 ID?

文档

typedef struct _MOUNTDEV_UNIQUE_ID {
USHORT UniqueIdLength;
UCHAR UniqueId[1];
} MOUNTDEV_UNIQUE_ID, *PMOUNTDEV_UNIQUE_ID;

说:

UniqueIdLength

  • Contains the length of unique volume ID.

UniqueId

  • Contains the unique volume ID. The format for unique volume names is "\??\Volume{GUID}\", where GUID is a globally unique identifier that identifies the volume.

但是,这里有一些奇怪的地方:UniqueId 的确切格式应该是什么?如果它打算采用 \??\Volume{GUID}\ 格式,那么 UniqueIdLength 字段的意义是什么——它们大小不一样吗?否则,设备 ID 需要采用什么格式?

此外,这是设备 ID 还是 ID?换句话说,这应该是每个媒介(例如 CD)或每个设备(CD 驱动器)唯一的吗?

最佳答案

这种结构在 MS API 中很常见 - UniqueID[1] 变量只是一个占位符,实际上它被用作 UniqueId[UniqueIdLength] 变量.

ID 在每个介质和每个设备上都是唯一的 - 这取决于您是在与卷驱动程序还是设备类驱动程序对话。该 ID 旨在识别“可以安装的东西” - 例如CD-ROM 设备、固定磁盘分区或未分区的可移动磁盘。安装管理器使用 ID a.o。查找之前安装此特定卷的位置,并在同一位置重新安装它。

关于winapi - IOCTL_MOUNTDEV_QUERY_UNIQUE_ID 的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5573322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com