struttura MARK_HANDLE_INFO (ntifs.h)
Una struttura MARK_HANDLE_INFO viene passata come buffer di input durante una richiesta di codice di controllo FSCTL_MARK_HANDLE.
Sintassi
typedef struct _MARK_HANDLE_INFO {
union {
ULONG UsnSourceInfo;
ULONG CopyNumber;
} DUMMYUNIONNAME;
ULONG UsnSourceInfo;
HANDLE VolumeHandle;
ULONG HandleInfo;
} MARK_HANDLE_INFO, *PMARK_HANDLE_INFO;
Membri
DUMMYUNIONNAME
DUMMYUNIONNAME.UsnSourceInfo
Vedere UsnSourceInfo di seguito.
DUMMYUNIONNAME.CopyNumber
Identifica la copia di un file da leggere durante la lettura da un file che risiede su supporti ridondanti.
UsnSourceInfo
Flag di informazioni di origine USN (Update Sequence Number) facoltativi. Per impostare uno di questi valori, è necessario specificare un handle DASD del volume nel campo VolumeHandle. Può essere una combinazione dei valori seguenti:
Bandiera | Significato |
---|---|
USN_SOURCE_DATA_MANAGEMENT | Il servizio non modifica la visualizzazione esterna di nessuna parte del file. Il caso tipico è lo spostamento di dati da e verso l'archiviazione esterna. |
USN_SOURCE_AUXILIARY_DATA | Il servizio non modifica la visualizzazione esterna del file in relazione all'applicazione che ha creato il file. Può essere usato per aggiungere flussi di dati privati a un file. |
USN_SOURCE_REPLICATION_MANAGEMENT | Il servizio sta modificando un file in modo che corrisponda al contenuto dello stesso file presente in un altro membro del set di repliche. |
USN_SOURCE_CLIENT_REPLICATION_MANAGEMENT | La replica viene eseguita nei sistemi client dal cloud o dai server. Per impostare questo valore non è necessario un handle di volume |
VolumeHandle
Handle del volume per questa operazione.
HandleInfo
Contiene flag per identificare la richiesta. Questo campo può essere uno dei valori seguenti:
Bandiera | Significato |
---|---|
MARK_HANDLE_PROTECT_CLUSTERS | Non consentire la deframmentazione (FSCTL_MOVE_FILE) fino alla chiusura dell'handle. |
MARK_HANDLE_TXF_SYSTEM_LOG | Questo flusso viene usato come log Txf per un gestore risorse nel volume. Deve essere chiamato nel kernel usando IRP_MN_KERNEL_CALL. Disponibile a partire da Windows Vista. |
MARK_HANDLE_NOT_TXF_SYSTEM_LOG | Questo componente non usa più questo oggetto come file di log TxF. Disponibile a partire da Windows Vista. |
MARK_HANDLE_REALTIME | Supportato solo dal file system UDFS. Contrassegna il dispositivo per eseguire lo streaming in tempo reale del video. Disponibile a partire da Windows 7. |
MARK_HANDLE_NOT_REALTIME | Supportato solo dal file system UDFS. Contrassegna il dispositivo per non eseguire più lo streaming in tempo reale del video. Disponibile a partire da Windows 7. |
MARK_HANDLE_CLOUD_SYNC | Deprecato; non usare questo flag. |
MARK_HANDLE_READ_COPY | I dati devono essere letti dalla copia di dati specificata. Supportato solo per i volumi ridondanti di Spazi di archiviazione. Disponibile a partire da Windows 8. |
MARK_HANDLE_NOT_READ_COPY | I dati non devono più essere letti da una copia specifica. Supportato solo per i volumi ridondanti di Spazi di archiviazione. Disponibile a partire da Windows 8. |
MARK_HANDLE_FILTER_METADATA | Riservato solo per l'uso interno di Microsoft. |
MARK_HANDLE_RETURN_PURGE_FAILURE | Quando si esegue la combinazione di operazioni di I/O mappate/memorizzate nella cache con operazioni di I/O non memorizzate nella cache e viene emesso un I/O non memorizzato nella cache, il sistema tenta di ripulire i mapping di memoria per l'intervallo di I/O non memorizzato nella cache. Se queste ripuliture non riescono normalmente, il sistema non restituisce l'errore al chiamante che può causare uno stato danneggiato. Questo flag indica al sistema di restituire errori di eliminazione per l'handle specificato in modo che l'applicazione possa gestire meglio questa situazione. Disponibile a partire da Windows 8.1. |
MARK_HANDLE_DISABLE_FILE_METADATA_OPTIMIZATION | Disabilita la funzionalità di compattazione File Record Segment (FRS) nel file specificato. Disponibile a partire da Windows 10 versione 1507. |
MARK_HANDLE_ENABLE_USN_SOURCE_ON_PAGING_IO | 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é non si sapeva quale thread ha apportato le modifiche indicate. Si tratta di un override. Questa operazione funziona solo se l'oggetto FileObject su cui si trova Gestione memoria deve essere associato a questo stato. Disponibile a partire da Windows 10 versione 1507. |
MARK_HANDLE_SKIP_COHERENCY_SYNC_DISALLOW_WRITES | Indica al sistema che le scritture non sono consentite in questo file. Se un utente 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. Disponibile a partire da Windows 10 versione 1507. |
MARK_HANDLE_ENABLE_CPU_CACHE | Riservato solo per l'uso interno di Microsoft. |
MARK_HANDLE_SUPPRESS_VOLUME_OPEN_FLUSH | In genere, nella prima operazione di lettura/scrittura su un handle di volume (DASD aperto), il file system scarica il volume. Ciò può avere conseguenze sulle prestazioni in determinati scenari. Se questo flag è impostato su un handle di volume, lo scaricamento verrà eliminato per la prima I/O. Disponibile a partire da Windows 11. |
Osservazioni
MARK_HANDLE_INFO contiene le informazioni utilizzate per contrassegnare un file o una directory specificata e il relativo record del journal di modifica del numero di sequenza di aggiornamento (USN) con i dati sulle modifiche.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP |
intestazione | ntifs.h |