IoVolumeDeviceToDosName 函数 (ntddk.h)

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

语法

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

参数

[in] VolumeDeviceObject

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

[out] DosName

指向调用方分配 UNICODE_STRING 结构的指针。 如果调用成功,IoVolumeDeviceToDosName 设置 LengthMaximumLength的值,以及 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)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING