IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME IOCTL (mountdev.h)

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

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

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

无。

输入缓冲区长度

无。

输出缓冲区

客户端驱动程序必须将类型为 MOUNTDEV_SUGGESTED_LINK_NAME 的可变长度结构放置在 Irp-AssociatedIrp.SystemBuffer> 缓冲区的开头。 客户端驱动程序必须在此结构的 Name 成员指向的地址处插入建议的持久名称。

输出缓冲区长度

IRP 的 I/O 堆栈位置中的 Parameters.DeviceIoControl.OutputBufferLength 指示输出缓冲区的大小(以字节为单位),该大小必须大于或等于 sizeof(MOUNTDEV_SUGGESTED_LINK_NAME)

输入/输出缓冲区

不可用

输入/输出缓冲区长度

N/A

状态块

如果操作成功,“ 信息” 字段将设置为返回的总字节数,并将 “状态” 字段设置为STATUS_SUCCESS。

如果 OutputBufferLength 小于 sizeof (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) 函数调用。

有关详细信息,请参阅 支持存储类驱动程序中的装载管理器请求

要求

要求
Header mountdev.h (包括 Mountdev.h)

另请参阅

MOUNTDEV_SUGGESTED_LINK_NAME