IoVolumeDeviceToDosName 函数 (ntddk.h)

IoVolumeDeviceToDosName 例程返回表示文件系统卷的指定设备对象的 MS-DOS 路径。

语法

NTSTATUS IoVolumeDeviceToDosName(
  [in]  PVOID           VolumeDeviceObject,
  [out] PUNICODE_STRING DosName
);

参数

[in] VolumeDeviceObject

指向表示存储类驱动程序创建的卷设备对象的设备对象的指针。

[out] DosName

指向调用方分配 的UNICODE_STRING 结构的指针。 如果调用成功, IoVolumeDeviceToDosName 将 设置此结构的 LengthMaximumLengthBuffer 成员的值。 退出时, 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

另请参阅

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING