FSCTL_DISMOUNT_VOLUME IOCTL (winioctl.h)
Отключает том независимо от того, используется ли он в данный момент. Дополнительные сведения см. в разделе «Примечания».
Для выполнения этой операции вызовите функцию DeviceIoControl со следующими параметрами.
C++ |
---|
BOOL DeviceIoControl( (HANDLE) hDevice, // handle to a volume (DWORD) FSCTL_DISMOUNT_VOLUME, // dwIoControlCodeNULL, // lpInBuffer0, // nInBufferSizeNULL, // lpOutBuffer0, // nOutBufferSize(LPDWORD) lpBytesReturned, // number of bytes returned (LPOVERLAPPED) lpOverlapped // OVERLAPPED structure ); |
Комментарии
Код управления FSCTL_DISMOUNT_VOLUME будет пытаться отключить том независимо от того, используют ли другие процессы том, что может иметь непредсказуемые результаты для этих процессов, если они не удерживают блокировку тома. Сведения о блокировке тома см. в разделе FSCTL_LOCK_VOLUME.
Дескриптор hDevice, передаваемый в DeviceIoControl , должен быть дескриптором тома, открытым для прямого доступа. Чтобы получить дескриптор тома, вызовите CreateFile с параметром lpFileName , для которого задана строка следующей формы:
\.\X:
где X — это буква раздела жесткого диска, дисковод гибких дисков или компакт-дисков. Приложение также должно указать флаги FILE_SHARE_READ и FILE_SHARE_WRITE в параметре dwShareModecreateFile.
Если указанный том является системным томом или содержит файл подкачки, операция завершается ошибкой.
Если указанный том заблокирован другим процессом, операция завершается сбоем. Чтобы предотвратить блокировку тома другим процессом, заблокируйте его сразу после открытия.
Отключенный том имеет следующие свойства:
- Открытых файлов нет.
- Операционная система обнаруживает том.
Отключение тома полезно, если том должен исчезнуть на некоторое время. Например, приложение, которое изменяет файловую систему тома с файловой системы FAT на файловую систему NTFS, может использовать следующую процедуру.
Изменение файловой системы тома
- Откройте том.
- Блокировка тома.
- Отформатируйте том.
- Отключите том.
- Разблокируйте том.
- Закройте дескриптор тома.
В Windows 8 и Windows Server 2012 этот код поддерживается следующими технологиями.
Технология | Поддерживается |
---|---|
Протокол SMB 3.0 | Нет |
SMB 3.0 Transparent Failover (TFO) | Нет |
SMB 3.0 с масштабируемыми общими папками (SO) | Нет |
Файловая система общего тома кластера (CSVFS) | См. комментарий |
В CSVF узел, на котором выдано отключение, будет видеть обычную последовательность отключения. На всех остальных узлах FS сделает недействительными все открытые файлы.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winioctl.h (включая Windows.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по