IOCTL_VOLUME_OFFLINE IOCTL (ntddvol.h)
O IOCTL_VOLUME_OFFLINE IOCTL coloca o volume em um estado OFFLINE, que é um estado em que as operações de leitura e gravação falharão. As solicitações não serão passadas para o disco físico até que um IOCTL_VOLUME_ONLINE subsequente seja recebido.
Um uso comum para IOCTL_VOLUME_OFFLINE é um caso em que um aplicativo ou driver deseja impedir que um volume seja remontado por uma chamada para abrir o volume de um segundo aplicativo ou driver enquanto o volume está em processo de remoção pelo primeiro aplicativo ou driver. Por exemplo, antes de mascarar um LUN (Número de Unidade Lógica), os volumes no LUN devem ser bloqueados (opcional), desmontados, colocados offline e desinstalados. Agora, o LUN pode ser mascarado sem fazer com que eventos de remoção surpresa de Plug and Play (PnP) sejam registrados para os volumes e o próprio disco. Sem a chamada para colocar o volume offline, depois que o identificador usado para desmontá-lo for fechado, o volume poderá ser remontado por uma chamada para abri-lo de outro aplicativo ou driver, se ele ocorreu antes da chamada para desinstalar o volume. Uma chamada para abrir um volume é bem-sucedida em um volume offline, mas a E/S direcionada para um volume offline falha. Colocar um volume offline não terá efeito na E/S do disco (se o aplicativo ou o driver abriu um identificador para o disco), mas interromperá a E/S do volume (se o aplicativo ou driver abriu um identificador para o volume).
Código principal
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
Nenhum.
Comprimento do buffer de saída
Nenhum.
Bloco de status
O membro Status é definido como STATUS_SUCCESS.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows XP. |
Cabeçalho | ntddvol.h (inclua Ntddvol.h) |