Функция 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 |