struttura MARK_HANDLE_INFO (winioctl.h)
Contiene informazioni utilizzate per contrassegnare un file o una directory specificata e il relativo record di registrazione delle modifiche del numero di sequenza di aggiornamento (USN) con i dati sulle modifiche. Viene usato dal codice di controllo FSCTL_MARK_HANDLE .
Sintassi
typedef struct _MARK_HANDLE_INFO {
union {
DWORD UsnSourceInfo;
DWORD CopyNumber;
} DUMMYUNIONNAME;
DWORD UsnSourceInfo;
HANDLE VolumeHandle;
DWORD HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
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.
Vengono definiti i valori seguenti.
Valore | Significato |
---|---|
|
L'operazione fornisce informazioni su una modifica al file o alla directory apportata dal sistema operativo.
Un uso tipico è quando Archiviazione remota sposta i dati da una risorsa di archiviazione esterna all'archiviazione locale. Archiviazione remota è il software di gestione dell'archiviazione gerarchico. Tale spostamento in genere aggiunge almeno il flag USN_REASON_DATA_OVERWRITE a un record USN. Tuttavia, i dati non sono cambiati 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 viene eseguita un'operazione di scrittura sull'elemento, i dati non sono stati modificati. |
|
L'operazione aggiunge un flusso di dati privato a un file o a una directory.
Un esempio potrebbe essere un rilevatore di virus che aggiunge 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. |
|
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. |
|
La replica viene eseguita nei sistemi client dal cloud o dai server. |
VolumeHandle
Handle del volume per il volume in cui si trova il file o la directory. Per altre informazioni su come ottenere un handle di volume, 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 dell'handle nel membro VolumeHandle .
Valore | Significato |
---|---|
|
Il file viene contrassegnato come non può essere deframmentato finché l'handle non viene chiuso.
Una volta chiuso un handle contrassegnato MARK_HANDLE_PROTECT_CLUSTERS , non è garantito che i cluster del file non vengano spostati. |
|
Il file viene contrassegnato come non può essere deframmentato finché l'handle non viene chiuso.
Windows Server 2003: Questo flag non è supportato fino a Windows Server 2003 con SP1. Windows XP: Questo flag non è supportato. |
|
Il file viene contrassegnato come non può essere deframmentato finché l'handle non viene chiuso.
Windows Server 2003: Questo flag non è supportato fino a Windows Server 2003 con SP1. Windows XP: Questo flag non è supportato. |
|
Il file è 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 l'I/O non memorizzato nel buffer.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato. |
|
Il file contrassegnato in precedenza per il comportamento di lettura in tempo reale usando il flag MARK_HANDLE_REALTIME può essere contrassegnato usando questo flag, rimuovendo il comportamento in tempo reale. I file contrassegnati con questo flag devono essere aperti per l'I/O non memorizzato nel buffer.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato. |
|
Indica il numero di copia specificato nel membro CopyNumber da utilizzare per le letture. I file contrassegnati con questo flag devono essere aperti per l'I/O non memorizzato nel buffer.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato fino a Windows 8 e Windows Server 2012. |
|
Il file contrassegnato in precedenza per il comportamento di lettura-copia usando il flag di MARK_HANDLE_READ_COPY può essere contrassegnato usando questo flag, rimuovendo il comportamento di lettura-copia. I file contrassegnati con questo flag devono essere aperti per l'I/O non memorizzato nel buffer.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo flag non è supportato fino a Windows 8 e Windows Server 2012. |
|
Quando si esegue il mapping della memoria o l'I/O memorizzato nella cache con operazioni di I/O non memorizzate nella cache, il sistema tenta di eliminare i mapping di memoria per l'intervallo di I/O non memorizzato nella cache. Se queste eliminamenti hanno esito negativo, il sistema normalmente non restituisce l'errore al chiamante che può causare uno stato danneggiato (motivo per cui la documentazione indica di non eseguire questa operazione). Questo flag indica al sistema di restituire gli errori di eliminazione per l'handle specificato, in modo che l'applicazione possa gestire meglio questa situazione Questo flag non è supportato fino a Windows 8 e Windows Server 2012. |
|
Un file altamente frammentato in NTFS usa più record MFT per descrivere tutti gli extent per un file. Questo elenco di record MFT figlio (noti anche come record FRS) è controllato da una struttura nota come elenco di attributi. Un elenco di attributi è limitato a 128 KB di dimensioni. Quando la dimensione di un elenco di attributi raggiunge una determinata soglia NTFS attiverà una compattazione in background negli extent, in modo che venga usato il numero minimo di record FRS figlio.
Questo flag disabilita questa funzionalità di compattazione FRS per il file specificato.
Questo flag non è supportato fino a quando non Windows 10. |
|
Indica a NTFS di impostare il valore UsnSourceInfo specificato nelle scritture di paging nel Journal USN. Tradizionalmente questa operazione non è stata eseguita nelle scritture di paging perché il sistema non sapeva quale thread ha apportato le modifiche date. Si tratta di un override. Questa operazione funziona solo se il FileObject utilizzato dalla gestione memoria dispone di questo stato associato.
Questo flag non è supportato fino a quando non Windows 10. |
|
L'impostazione di questo flag indica al sistema che le scritture non sono consentite in questo file. Se un'applicazione tenta di aprire il file per l'accesso in scrittura, l'operazione non è riuscita con STATUS_ACCESS_DENIED.
Se viene visualizzata una scrittura, l'operazione non è riuscita con STATUS_MARKED_TO_DISALLOW_WRITES Questo flag non è supportato fino a quando Windows 10. |
Commenti
Per recuperare un handle in un volume, chiamare CreateFile con il parametro lpFileName impostato su una stringa nel formato seguente:
"\.\X:"
Nella stringa precedente, X è la lettera che identifica l'unità in cui viene visualizzato il volume.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Intestazione | winioctl.h (include Windows.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per