IoVolumeDeviceToDosName 函数 (ntddk.h)
IoVolumeDeviceToDosName 例程返回表示文件系统卷的指定设备对象的 MS-DOS 路径。
语法
NTSTATUS IoVolumeDeviceToDosName(
[in] PVOID VolumeDeviceObject,
[out] PUNICODE_STRING DosName
);
参数
[in] VolumeDeviceObject
指向表示存储类驱动程序创建的卷设备对象的设备对象的指针。
[out] DosName
指向调用方分配 的UNICODE_STRING 结构的指针。 如果调用成功, IoVolumeDeviceToDosName 将 设置此结构的 Length、 MaximumLength 和 Buffer 成员的值。 退出时, Buffer 成员指向一个宽字符、以 null 结尾的字符串,该字符串包含 由 VolumeDeviceObject 指定的卷设备对象的 MS-DOS 路径。 有关详细信息,请参阅“备注”。
返回值
如果调用成功,IoVolumeDeviceToDosName 将返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。
返回值 | 说明 |
---|---|
STATUS_INVALID_PARAMETER | 由于调用方传递的参数值无效,例程失败。 |
STATUS_INSUFFICIENT_RESOURCES | 例程未能分配此操作所需的资源。 |
注解
IoVolumeDeviceToDosName 分配 DosName 参数指向的 UNICODE_STRING 结构的 Buffer 成员指向的字符串缓冲区。 不再需要此缓冲区后,此例程的调用方应调用 ExFreePool 例程来释放缓冲区。
从 Windows Vista 开始,必须确保在调用此例程之前未禁用 APC。 KeAreAllApcsDisabled 例程可用于验证未禁用 APC。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | ntddk.h (包括 Ntddk.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |