MARK_HANDLE_INFO32 struttura (winioctl.h)

Contiene informazioni usate per contrassegnare un file o una directory specificata e il relativo numero di sequenza di aggiornamento (USN) modifica record del journal con dati sulle modifiche. Viene definito solo per il codice a 64 bit ed esiste per interpretare le strutture MARK_HANDLE_INFO inviate da codice a 32 bit. Viene usato dal codice di controllo IOCTL FSCTL_MARK_HANDLE .

Sintassi

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

Members

DUMMYUNIONNAME

DUMMYUNIONNAME.UsnSourceInfo

DUMMYUNIONNAME.CopyNumber

UsnSourceInfo

Tipo di modifiche apportate.

L'operazione non modifica il file o la directory esternamente dal punto di vista dell'applicazione che l'ha creata.

Quando un thread scrive un nuovo record USN, i flag di informazioni di origine nel record precedente continuano a essere presenti solo se il thread imposta anche tali flag. Pertanto, la struttura delle informazioni di origine consente alle applicazioni di filtrare i record USN impostati solo da un'origine nota, ad esempio un filtro antivirus.

I valori seguenti sono definiti.

Valore Significato
USN_SOURCE_DATA_MANAGEMENT
0x00000001
L'operazione fornisce informazioni su una modifica apportata al file o alla directory apportata dal sistema operativo.

Un uso tipico è quando Archiviazione remota sposta i dati dall'esterno all'archiviazione locale. Archiviazione remota è il software di gestione dell'archiviazione gerarchica. Tale spostamento in genere aggiunge almeno il flag di USN_REASON_DATA_OVERWRITE a un record USN. Tuttavia, i dati non sono stati modificati dal punto di vista dell'utente. Notando USN_SOURCE_DATA_MANAGEMENT nel membro SourceInfo della struttura USN_RECORD che contiene il record, è possibile determinare che, anche se un'operazione di scrittura viene eseguita nell'elemento, i dati non sono stati modificati.

USN_SOURCE_AUXILIARY_DATA
0x00000002
L'operazione aggiunge un flusso di dati privato a un file o a una directory.

Un esempio potrebbe essere un rilevatore di virus aggiungendo informazioni sul checksum. Quando il rilevatore di virus modifica l'elemento, il sistema genera record USN. USN_SOURCE_AUXILIARY_DATA indica che le modifiche non hanno modificato i dati dell'applicazione.

USN_SOURCE_REPLICATION_MANAGEMENT
0x00000004
L'operazione crea o aggiorna il contenuto di un file replicato.

Ad esempio, il servizio di replica file imposta questo flag quando crea o aggiorna un file in una directory replicata.

VolumeHandle

Handle del volume nel volume in cui risiede il file o la directory. Per altre informazioni sull'acquisizione di un handle di volumi, vedere la sezione Osservazioni.

Questo handle è necessario per controllare i privilegi per questa operazione.

Il chiamante deve avere il privilegio di SE_MANAGE_VOLUME_NAME . Per altre informazioni, vedere Privilegi.

HandleInfo

Flag che specifica informazioni aggiuntive sul file o sulla directory identificata dal valore handle nel membro VolumeHandle .

Valore Significato
MARK_HANDLE_PROTECT_CLUSTERS
0x00000001
Il file viene contrassegnato come non è possibile deframmentare finché l'handle non viene chiuso.
MARK_HANDLE_TXF_SYSTEM_LOG
0x00000004
Il file viene contrassegnato come non è possibile deframmentare finché l'handle non viene chiuso.
MARK_HANDLE_NOT_TXF_SYSTEM_LOG
0x00000008
Il file viene contrassegnato come non è possibile deframmentare finché l'handle non viene chiuso.
MARK_HANDLE_REALTIME
0x00000020
Il file viene contrassegnato per il comportamento di lettura in tempo reale indipendentemente dal tipo di file effettivo. I file contrassegnati con questo flag devono essere aperti per I/O non memorizzati.
MARK_HANDLE_NOT_REALTIME
0x00000040
Il file contrassegnato in precedenza per il comportamento di lettura in tempo reale usando il flag di MARK_HANDLE_REALTIME può essere contrassegnato con questo flag, rimuovendo il comportamento in tempo reale. I file contrassegnati con questo flag devono essere aperti per I/O non memorizzati.

Requisiti

   
Client minimo supportato Windows 8 (solo a 64 bit) [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Intestazione winioctl.h (include Windows.h)