FSCTL_DISMOUNT_VOLUME IOCTL (winioctl.h)
Desmonta un volumen independientemente de si está en uso o no. Para obtener más información, vea la sección Comentarios.
Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.
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 ); |
Comentarios
El código de control FSCTL_DISMOUNT_VOLUME intentará desmontar un volumen independientemente de si otros procesos usan el volumen, lo que puede tener resultados impredecibles para esos procesos si no contienen un bloqueo en el volumen. Para obtener información sobre cómo bloquear un volumen, consulte FSCTL_LOCK_VOLUME.
El identificador hDevice pasado a DeviceIoControl debe ser un identificador para un volumen, abierto para el acceso directo. Para recuperar un identificador de volumen, llame a CreateFile con el parámetro lpFileName establecido en una cadena del siguiente formulario:
\.\X:
donde X es una letra de partición de unidad de disco duro, una unidad de disco disquete o una unidad DE CD-ROM. La aplicación también debe especificar las marcas FILE_SHARE_READ y FILE_SHARE_WRITE en el parámetro dwShareMode de CreateFile.
Si el volumen especificado es un volumen del sistema o contiene un archivo de página, se produce un error en la operación.
Si otro proceso bloquea el volumen especificado, se produce un error en la operación. Para evitar que otro proceso bloquee el volumen, bloquee el volumen tan pronto como lo abra.
Un volumen desmontado tiene las siguientes propiedades:
- No hay archivos abiertos.
- El sistema operativo detecta el volumen.
Desmontar un volumen es útil cuando un volumen necesita desaparecer durante un tiempo. Por ejemplo, una aplicación que cambia un sistema de archivos de volumen del sistema de archivos FAT al sistema de archivos NTFS podría usar el procedimiento siguiente.
Para cambiar un sistema de archivos de volumen
- Abra un volumen.
- Bloquee el volumen.
- Formatear el volumen.
- Desmontar el volumen.
- Desbloquee el volumen.
- Cierre el identificador de volumen.
En Windows 8 y Windows Server 2012, este código es compatible con las siguientes tecnologías.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | No |
Conmutación por error transparente (TFO) de SMB 3.0 | No |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | No |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Ver comentario |
En csvFs, el nodo donde se emite el desmontaje verá una secuencia de desmontaje normal. En todos los demás nodos, FS invalidará todos los archivos abiertos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Encabezado | winioctl.h (incluya Windows.h) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de