FSCTL_DISMOUNT_VOLUME IOCTL (winioctl.h)
Démonte un volume, que le volume soit en cours d’utilisation ou non. Pour plus d’informations, consultez la section Remarques.
Pour effectuer cette opération, appelez la fonction DeviceIoControl avec les paramètres suivants.
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 ); |
Remarques
Le code de contrôle FSCTL_DISMOUNT_VOLUME tente de démonter un volume, qu’il s’agisse ou non d’autres processus qui utilisent le volume, ce qui peut avoir des résultats imprévisibles pour ces processus s’ils ne contiennent pas de verrou sur le volume. Pour plus d’informations sur le verrouillage d’un volume, consultez FSCTL_LOCK_VOLUME.
Le handle
\\.\X:
où X est une lettre de partition de disque dur, un lecteur de disque floppy ou un lecteur CD-ROM. L’application doit également spécifier les indicateurs FILE_SHARE_READ et FILE_SHARE_WRITE dans le paramètre dwShareMode de CreateFile.
Si le volume spécifié est un volume système ou contient un fichier de page, l’opération échoue.
Si le volume spécifié est verrouillé par un autre processus, l’opération échoue. Pour empêcher un autre processus de verrouiller le volume, verrouillez-le dès que vous l’ouvrez.
Un volume démonté a les propriétés suivantes :
- Il n’y a pas de fichiers ouverts.
- Le système d’exploitation détecte le volume.
Le démontage d’un volume est utile lorsqu’un volume doit disparaître pendant un certain temps. Par exemple, une application qui modifie un système de fichiers de volume du système de fichiers FAT vers le système de fichiers NTFS peut utiliser la procédure suivante.
Pour modifier un système de fichiers de volume
- Ouvrez un volume.
- Verrouillez le volume.
- Mettez en forme le volume.
- Démonter le volume.
- Déverrouillez le volume.
- Fermez le handle de volume.
Dans Windows 8 et Windows Server 2012, ce code est pris en charge par les technologies suivantes.
Technologie | Supporté |
---|---|
Protocole SMB (Server Message Block) 3.0 | Non |
Basculement transparent SMB 3.0 (TFO) | Non |
SMB 3.0 avec partages de fichiers avec montée en puissance parallèle (SO) | Non |
Cluster Shared Volume File System (CsvFS) | Voir le commentaire |
Sur csvFs, le nœud où le démontage est émis voit une séquence de démontage normale. Sur tous les autres nœuds FS, toutes les fichiers ouverts sont invalidés.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows XP [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2003 [applications de bureau uniquement] |
d’en-tête | winioctl.h (include Windows.h) |