IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)

IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME 允许装载管理器客户端(例如设备或卷驱动程序)为其关联的卷建议驱动器号或链接名称。

装载管理器客户端对此 IOCTL 的支持是可选的。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

没有。

输入缓冲区长度

没有。

输出缓冲区

客户端驱动程序必须在 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)

另请参阅

MOUNTDEV_SUGGESTED_LINK_NAME