Compartilhar via


estrutura MARK_HANDLE_INFO (ntifs.h)

Uma estrutura de MARK_HANDLE_INFO é passada como o buffer de entrada durante uma solicitação de código de controle FSCTL_MARK_HANDLE.

Sintaxe

typedef struct _MARK_HANDLE_INFO {
  union {
    ULONG UsnSourceInfo;
    ULONG CopyNumber;
  } DUMMYUNIONNAME;
  ULONG  UsnSourceInfo;
  HANDLE VolumeHandle;
  ULONG  HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;

Membros

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

Veja UsnSourceInfo abaixo.

DUMMYUNIONNAME.CopyNumber

Identifica qual cópia de um arquivo ler ao ler de um arquivo que reside em mídia redundante.

UsnSourceInfo

Os sinalizadores de informações de origem usn (número de sequência de atualização) opcionais. Para definir qualquer um desses valores, um identificador DASD de volume deve ser especificado no campo VolumeHandle . Pode ser uma combinação dos seguintes valores:

Sinalizador Significado
USN_SOURCE_DATA_MANAGEMENT O serviço não está modificando a exibição externa de nenhuma parte do arquivo. O caso típico é o HSM movendo dados de e para o armazenamento externo.
USN_SOURCE_AUXILIARY_DATA O serviço não está modificando a exibição externa do arquivo em relação ao aplicativo que criou esse arquivo. Pode ser usado para adicionar fluxos de dados privados a um arquivo.
USN_SOURCE_REPLICATION_MANAGEMENT O serviço está modificando um arquivo para corresponder ao conteúdo do mesmo arquivo que existe em outro membro do conjunto de réplica.
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT A replicação está sendo executada em sistemas cliente da nuvem ou dos servidores. Um identificador de volume não é necessário para definir esse valor

VolumeHandle

Identificador de volume para esta operação.

HandleInfo

Contém sinalizadores para identificar a solicitação. Esse campo pode ser um dos seguintes valores:

Sinalizador Significado
MARK_HANDLE_PROTECT_CLUSTERS Não permita desfragmentação (FSCTL_MOVE_FILE) até que o identificador seja fechado.
MARK_HANDLE_TXF_SYSTEM_LOG Esse fluxo está sendo usado como o log Txf para um gerenciador de recursos no volume. Deve ser chamado no kernel usando IRP_MN_KERNEL_CALL. Disponível a partir do Windows Vista.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG Esse componente não está mais usando esse objeto como um arquivo de log TxF. Disponível a partir do Windows Vista.
MARK_HANDLE_REALTIME Compatível apenas com o sistema de arquivos UDFS. Marca o dispositivo para fazer streaming de vídeo em tempo real. Disponível a partir do Windows 7.
MARK_HANDLE_NOT_REALTIME Compatível apenas com o sistema de arquivos UDFS. Marca o dispositivo para não fazer mais streaming de vídeo em tempo real. Disponível a partir do Windows 7.
MARK_HANDLE_CLOUD_SYNC Preterido; não use esse sinalizador.
MARK_HANDLE_READ_COPY Os dados devem ser lidos da cópia de dados especificada. Só há suporte para volumes redundantes Espaços de Armazenamento. Disponível a partir de Windows 8.
MARK_HANDLE_NOT_READ_COPY Os dados não devem mais ser lidos de uma cópia específica. Só há suporte para volumes redundantes Espaços de Armazenamento. Disponível a partir de Windows 8.
MARK_HANDLE_FILTER_METADATA Reservado somente para uso interno da Microsoft.
MARK_HANDLE_RETURN_PURGE_FAILURE Ao intercalar memória mapeada/E/S armazenada em cache com E/S não armazenada em cache e uma E/S não armazenada em cache é emitida, o sistema tenta limpar mapeamentos de memória para o intervalo da E/S não armazenada em cache. Se essas limpezas falharem, o sistema normalmente não retornará a falha ao chamador que pode levar ao estado corrompido. Esse sinalizador informa ao sistema para retornar falhas de limpeza para o identificador especificado para que o aplicativo possa lidar melhor com essa situação. Disponível a partir de Windows 8.1.
MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION Desabilita o recurso de compactação FRS (Serviço de Replicação de Arquivos) no arquivo especificado. Disponível a partir Windows 10 versão 1507.
MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO Informa ao NTFS para definir o valor usnSourceInfo fornecido em gravações de paginação no usn Diário. Tradicionalmente, isso não era feito em gravações de paginação, pois você não sabia qual thread fez as alterações determinadas. Essa é uma substituição. Isso só funcionará se o FileObject no qual o Gerenciador de Memória está segurando tiver esse estado associado a ele. Disponível a partir Windows 10 versão 1507.
MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES Informa ao sistema que as gravações não são permitidas neste arquivo. Se alguém tentar abrir o arquivo para acesso de gravação, a operação falhará com STATUS_ACCESS_DENIED. Se uma gravação for vista, a operação falhará com STATUS_MARKED_TO_DISALLOW_WRITES. Disponível a partir Windows 10 versão 1507.
MARK_HANDLE_ENABLE_CPU_CACHE Reservado somente para uso interno da Microsoft.
MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH Normalmente, na primeira operação de leitura/gravação em um identificador de volume (DASD aberto), o sistema de arquivos libera o volume. Isso pode ter consequências de desempenho em determinados cenários. Se esse sinalizador for definido em um identificador de volume, ele suprimirá essa liberação na primeira E/S. Disponível a partir de Windows 11.

Comentários

MARK_HANDLE_INFO contém as informações usadas para marcar um arquivo ou diretório especificado e seu registro de diário de alteração de número de sequência de atualização (USN) com dados sobre alterações.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Cabeçalho ntifs.h

Confira também

FSCTL_MARK_HANDLE