IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME 允许装载管理器客户端(例如设备或卷驱动程序)为其关联的卷建议驱动器号或链接名称。
装载管理器客户端对此 IOCTL 的支持是可选的。
主要代码
输入缓冲区
没有。
输入缓冲区长度
没有。
输出缓冲区
客户端驱动程序必须在 Irp->AssociatedIrp.SystemBuffer的缓冲区开头放置 MOUNTDEV_SUGGESTED_LINK_NAME 类型的可变长度结构。 客户端驱动程序必须在此结构的 名称 成员指向的地址处插入建议的持久性名称。
输出缓冲区长度
参数.DeviceIoControl.OutputBufferLength 在 IRP 的 I/O 堆栈位置指示输出缓冲区的大小(以字节为单位),输出缓冲区的大小必须大于或等于 sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)。
输入/输出缓冲区
N/A
输入/输出缓冲区长度
N/A
状态块
如果作成功,则 信息 字段设置为返回的总字节数,状态 字段设置为STATUS_SUCCESS。
如果 outputBufferLength 小于 大小(MOUNTDEV_SUGGESTED_LINK_NAME),则 状态 字段设置为STATUS_INVALID_PARAMETER。
如果 OutputBufferLength 小于输出数据的总长度,则 状态 字段设置为STATUS_BUFFER_OVERFLOW,信息 字段设置为 sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)。
言论
某些装载管理器客户端能够在系统重新启动时跟踪其驱动器号,而无需装载管理器的帮助。 此类客户端可以将建议的驱动器号名称发送到装载管理器,以响应此 IOCTL。 如果装载管理器的数据库尚未包含客户端卷的永久性驱动器号名称,则装载管理器使用建议的名称。 否则,它会忽略建议,并在其持久名称数据库中使用驱动器号名称。
驱动器号名称必须包含对象命名空间中符号链接的完整路径,并且必须具有传统的 MS-DOS 语法。 例如,驱动器号“D”必须以以下方式表示:“\DosDevices\D:”。 “??不能使用 \D:“,也不能使用符号链接的缩写,如”D:”。
此函数的实现者不得线程同步,不得进行阻塞和/或进程间通信 (IPC) 函数调用。
有关详细信息,请参阅 在存储类驱动程序中支持装载管理器请求。
要求
| 要求 | 价值 |
|---|---|
| 标头 | mountdev.h (包括 Mountdev.h) |