Compartilhar via


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

IRP_MJ_DEVICE_CONTROL

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)

Confira também

IOCTL_VOLUME_ONLINE