Поделиться через


Функция 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, которая содержит путь MS-DOS к объекту устройства тома, заданному VolumeDeviceObject. Дополнительные сведения см. в подразделе "Примечания".

Возвращаемое значение

IoVolumeDeviceToDosName возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения ошибок включают следующие коды состояния.

Возвращаемое значение Описание
STATUS_INVALID_PARAMETER Подпрограмма завершилась сбоем из-за недопустимых значений параметров, переданных вызывающим элементом.
STATUS_INSUFFICIENT_RESOURCES Подпрограмме не удалось выделить ресурсы, необходимые для этой операции.

Комментарии

IoVolumeDeviceToDosName выделяет строковый буфер, на который указывает элемент Bufferструктуры UNICODE_STRING , на которую указывает параметр DosName . После того как этот буфер больше не требуется, вызывающий объект этой подпрограммы должен вызвать подпрограмму ExFreePool , чтобы освободить буфер.

Начиная с Windows Vista, перед вызовом этой подпрограммы необходимо убедиться, что БПП не отключены. Подпрограмма KeAreAllApcsDisabled может использоваться для проверки того, что APC не отключены.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntddk.h (включая Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также раздел

ExFreePool

KeAreAllApcsDisabled

UNICODE_STRING