FSCTL_DISMOUNT_VOLUME IOCTL (winioctl.h)
Desmonta um volume independentemente se o volume está ou não em uso no momento. Para obter mais informações, consulte a seção Comentários.
Para executar essa operação, chame a função DeviceIoControl com os parâmetros a seguir.
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 ); |
Observações
O código de controle FSCTL_DISMOUNT_VOLUME tentará desmontar um volume, independentemente de outros processos estarem usando ou não o volume, o que pode ter resultados imprevisíveis para esses processos se eles não mantiverem um bloqueio no volume. Para obter informações sobre como bloquear um volume, consulte FSCTL_LOCK_VOLUME.
O identificador de de
\\.\X:
em que X é uma letra de partição de disco rígido, uma unidade de disco disquete ou uma unidade de CD-ROM. O aplicativo também deve especificar os sinalizadores
Se o volume especificado for um volume do sistema ou contiver um arquivo de página, a operação falhará.
Se o volume especificado for bloqueado por outro processo, a operação falhará. Para impedir que outro processo bloqueie o volume, bloqueie-o assim que você abri-lo.
Um volume desmontado tem as seguintes propriedades:
- Não há arquivos abertos.
- O sistema operacional detecta o volume.
Desmontar um volume é útil quando um volume precisa desaparecer por um tempo. Por exemplo, um aplicativo que altera um sistema de arquivos de volume do sistema de arquivos FAT para o sistema de arquivos NTFS pode usar o procedimento a seguir.
Para alterar um sistema de arquivos de volume
- Abra um volume.
- Bloqueie o volume.
- Formate o volume.
- Desmonte o volume.
- Desbloqueie o volume.
- Feche o identificador de volume.
No Windows 8 e no Windows Server 2012, esse código é compatível com as tecnologias a seguir.
Tecnologia | Suportado |
---|---|
Protocolo SMB (Bloco de Mensagens do Servidor) 3.0 | Não |
TFO (Failover Transparente) do SMB 3.0 | Não |
SMB 3.0 com Compartilhamentos de Arquivos de Expansão (SO) | Não |
Sistema de Arquivos de Volume Compartilhado de Cluster (CsvFS) | Consulte o comentário |
Em CsvFs, o nó em que a desmontagem é emitida verá uma sequência de desmontagem normal. Em todos os outros nós, o FS invalidará todos os arquivos abertos.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
cabeçalho | winioctl.h (inclua Windows.h) |
Consulte também
getLogicalDrives