Compartilhar via


estrutura FILE_FS_PERSISTENT_VOLUME_INFORMATION (ntifs.h)

A estrutura FILE_FS_PERSISTENT_VOLUME_INFORMATION é usada para controlar as configurações persistentes de um volume do sistema de arquivos. As configurações persistentes persistem em um volume do sistema de arquivos entre reinicializações do computador.

Sintaxe

typedef struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION {
  ULONG VolumeFlags;
  ULONG FlagMask;
  ULONG Version;
  ULONG Reserved;
} FILE_FS_PERSISTENT_VOLUME_INFORMATION, *PFILE_FS_PERSISTENT_VOLUME_INFORMATION;

Membros

VolumeFlags

As configurações de estado persistente para um volume do sistema de arquivos. Esse valor é uma combinação OR bit a bit do seguinte.

Valor Significado
PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED 0x00000001 Um 0 para esse bit indica que a criação de 8,3 nomes curtos está habilitada e um 1 indica que a criação de nome curto está desabilitada. 8.3 nomes de arquivo curtos têm no máximo oito caracteres, seguidos por um ponto "." e uma extensão de nome de arquivo de no máximo três caracteres.
PERSISTENT_VOLUME_STATE_VOLUME_SCRUB_DISABLED 0x00000002 Quando definido, esse sinalizador indica que a limpeza de volume está desabilitada para o volume. Válido começando com Windows 8.
PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY 0x00000004 Global nenhuma penalidade de busca está habilitada para um volume em camadas. Válido começando com Windows 8.1.
PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY 0x00000008 Local nenhuma penalidade de busca está habilitada para um volume em camadas. Válido começando com Windows 8.1.
PERSISTENT_VOLUME_STATE_NO_HEAT_GATHERING 0x00000010 Quando definido, a coleta de calor não está habilitada para o volume em camadas. Válido começando com Windows 8.1.
PERSISTENT_VOLUME_STATE_CONTAINS_BACKING_WIM 0x00000020 Indica que esse volume está fazendo backup do volume do sistema com arquivos de um arquivo WIM (Formato de Imagem do Windows). Válido começando com Windows 8.1 Update.
PERSISTENT_VOLUME_STATE_BACKED_BY_WIM 0x00000040 Indica que esse volume depende de outro volume para fornecer arquivos de inicialização críticos do sistema. O outro volume contém um arquivo WIM que faz backup dos arquivos nesse volume. Esse sinalizador é somente leitura. Válido começando com Windows 8.1 Update.
PERSISTENT_VOLUME_STATE_DEV_VOLUME 0x00002000 Indica que esse volume está formatado como um volume de desenvolvedor. Isso pode ser usado pelo sistema de arquivos e outros componentes do sistema para habilitar otimizações que não exigem que um administrador confie no volume em um determinado computador. Válido a partir do Windows 11, versão 22H2 Atualização de setembro.
PERSISTENT_VOLUME_STATE_TRUSTED_VOLUME 0x00004000 Indica que um administrador em um determinado computador confiou nesse volume e está disposto a habilitar otimizações como não ter filtros antivírus anexados ao volume. Essas informações são mantidas no registro em um determinado computador. Isso pode ser usado pelo sistema de arquivos e outros componentes do sistema para habilitar otimizações que exigem que um administrador confie no volume em um determinado computador. Válido a partir do Windows 11, versão 22H2 Atualização de setembro.

FlagMask

Um valor de máscara para os sinalizadores válidos que podem aparecer em VolumeFlags. Essa é uma combinação OR bit a bit dos sinalizadores desejados descritos para VolumeFlags.

Version

O número de versão dessa estrutura. defina como 1.

Reserved

Reservado. Defina como 0;

Comentários

A estrutura FILE_FS_PERSISTENT_VOLUME_INFORMATION é usada com os códigos de controle FSCTL_SET_PERSISTENT_VOLUME_STATE e FSCTL_QUERY_PERSISTENT_VOLUME_STATE .

Para consultar os sinalizadores de estado, FlagMask é definido como uma combinação de sinalizadores para marcar. Por exemplo, se os únicos sinalizadores de penalidade de busca forem de interesse, FlagMask = PERSISTENT_VOLUME_STATE_GLOBAL_METADATA_NO_SEEK_PENALTY | PERSISTENT_VOLUME_STATE_LOCAL_METADATA_NO_SEEK_PENALTY. Além disso, se apenas o suporte a nome curto for consultado, defina FlagMask = PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED.

Ao definir ou limpar os sinalizadores de estado de volume persistente, usando FSCTL_SET_PERSISTENT_VOLUME_STATE, FlagMask é definido como todos os sinalizadores em VolumeFlags que serão afetados pelo volume. VolumeFlags contém os sinalizadores de estado persistentes reais a serem definidos para o volume. O exemplo a seguir mostra como definir os membros de FILE_FS_PERSISTENT_VOLUME_INFORMATION para habilitar a criação de nome curto para um volume.

IO_STATUS_BLOCK IoStatus;
FILE_FS_PERSISTENT_VOLUME_INFORMATION PersistVolInfo;
NTSTATUS status;

PersistVolInfo.VolumeFlags = 0;    // enable shortname creation on this volume
PersistVolInfo.FlagMask    = PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED;
PersistVolInfo.Version     = 1;
PersistVolInfo.Reserved    = 0;

// issue the request to the file system to set the enable state
//
status = ZwFsControlFile( VolumeHandle,
                          NULL,
                          NULL,
                          NULL,
                          &IoStatus,
                          FSCTL_SET_PERSISTENT_VOLUME_STATE,
                          &PersistVolInfo,
                          sizeof(FILE_FS_PERSISTENT_VOLUME_INFORMATION),
                          NULL,
                          0 );

O membro Version deve ser definido como a versão atual de 1 para uma consulta e uma solicitação de conjunto.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7
Cabeçalho ntifs.h (inclua Ntifs.h)

Confira também

FSCTL_QUERY_PERSISTENT_VOLUME_STATE

FSCTL_SET_PERSISTENT_VOLUME_STATE