estrutura MARK_HANDLE_INFO32 (winioctl.h)

Contém informações que são usadas para marcar um arquivo ou diretório especificado e seu registro de diário de alteração usn (número de sequência de atualização) com dados sobre alterações. Isso só é definido para código de 64 bits e existe para interpretar MARK_HANDLE_INFO estruturas enviadas pelo código de 32 bits. Ele é usado pelo código de controle IOCTL FSCTL_MARK_HANDLE .

Sintaxe

typedef struct _MARK_HANDLE_INFO32 {
  union {
    DWORD UsnSourceInfo;
    DWORD CopyNumber;
  } DUMMYUNIONNAME;
  DWORD  UsnSourceInfo;
  UINT32 VolumeHandle;
  DWORD  HandleInfo;
} MARK_HANDLE_INFO32, *PMARK_HANDLE_INFO32;

Membros

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

DUMMYUNIONNAME.CopyNumber

UsnSourceInfo

O tipo de alterações que estão sendo feitas.

A operação não modifica o arquivo ou diretório externamente do ponto de vista do aplicativo que o criou.

Quando um thread grava um novo registro USN, os sinalizadores de informações de origem no registro anterior só estarão presentes se o thread também definir esses sinalizadores. Portanto, a estrutura de informações de origem permite que os aplicativos filtrem registros USN definidos apenas por uma fonte conhecida, como um filtro antivírus.

Os valores a seguir são definidos.

Valor Significado
USN_SOURCE_DATA_MANAGEMENT
0x00000001
A operação fornece informações sobre uma alteração no arquivo ou diretório feita pelo sistema operacional.

Um uso típico é quando o Armazenamento Remoto move dados do armazenamento externo para o local. O Armazenamento Remoto é o software de gerenciamento de armazenamento hierárquico. Esse movimento geralmente, no mínimo, adiciona o sinalizador USN_REASON_DATA_OVERWRITE a um registro usn. No entanto, os dados não foram alterados do ponto de vista do usuário. Observando USN_SOURCE_DATA_MANAGEMENT no membro SourceInfo da estrutura USN_RECORD que contém o registro, você pode determinar que, embora uma operação de gravação seja executada no item, os dados não foram alterados.

USN_SOURCE_AUXILIARY_DATA
0x00000002
A operação adiciona um fluxo de dados privado a um arquivo ou diretório.

Um exemplo pode ser um detector de vírus adicionando informações de soma de verificação. À medida que o detector de vírus modifica o item, o sistema gera registros USN. USN_SOURCE_AUXILIARY_DATA indica que as modificações não alteraram os dados do aplicativo.

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
A operação cria ou atualiza o conteúdo de um arquivo replicado.

Por exemplo, o serviço de replicação de arquivos define esse sinalizador quando cria ou atualiza um arquivo em um diretório replicado.

VolumeHandle

O identificador de volume para o volume em que o arquivo ou diretório reside. Para obter mais informações sobre como obter um identificador de volume, consulte a seção Comentários.

Esse identificador é necessário para verificar os privilégios dessa operação.

O chamador deve ter o privilégio SE_MANAGE_VOLUME_NAME . Para obter mais informações, consulte Privilégios.

HandleInfo

O sinalizador que especifica informações adicionais sobre o arquivo ou diretório identificado pelo valor do identificador no membro VolumeHandle .

Valor Significado
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
O arquivo é marcado como não pode ser desfragmentado até que o identificador seja fechado.
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
O arquivo é marcado como não pode ser desfragmentado até que o identificador seja fechado.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
O arquivo é marcado como não pode ser desfragmentado até que o identificador seja fechado.
MARK_HANDLE_REALTIME
0x00000020
O arquivo é marcado para comportamento de leitura em tempo real, independentemente do tipo de arquivo real. Os arquivos marcados com esse sinalizador devem ser abertos para E/S não armazenada em buffer.
MARK_HANDLE_NOT_REALTIME
0x00000040
O arquivo marcado anteriormente para comportamento de leitura em tempo real usando o sinalizador MARK_HANDLE_REALTIME pode ser não marcado usando esse sinalizador, removendo o comportamento em tempo real. Os arquivos marcados com esse sinalizador devem ser abertos para E/S não armazenada em buffer.

Requisitos

   
Cliente mínimo com suporte Windows 8 (somente 64 bits) [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Cabeçalho winioctl.h (inclua Windows.h)