struttura SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT (ntifs.h)
Dopo che Windows rilascia il controllo SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT file system per un file, esamina le allocazioni al file.
Dopo che questo controllo del file system viene emesso per un file, le allocazioni seguenti al file verranno esaminate per verificare se l'offset specificato viene allocato. In tal caso, l'indirizzo fisico dell'allocazione verrà allineato al AlignmentValue specificato se nelle aree allineate è disponibile spazio sufficiente.
Sintassi
typedef struct _SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT {
ULONG Flags;
ULONG AlignmentShift;
ULONGLONG FileOffsetToAlign;
ULONG FallbackAlignmentShift;
} SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT, *PSET_DAX_ALLOC_ALIGNMENT_HINT_INPUT;
Membri
Flags
Flag utilizzati per il controllo file system. È possibile usare due flag:
Valore | Significato |
---|---|
DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY | Se l'allocazione soddisfa AlignmentShift (o almeno FallbackAlignmentShift se specificato) non è possibile trovare, non è possibile eseguire l'operazione del file system ,ad esempio estendendo il file. |
DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED | Indica che il campo FallbackAlignmentShift è presente nella struttura di input e indica un allineamento di fallback se l'allineamento ottimale non è disponibile. |
AlignmentShift
Dimensione del blocco utilizzata per allineare l'offset specificato del file. Il file viene allocato in modo che l'indirizzo fisico del file sia allineato a questa dimensione del blocco.
Il valore di allineamento effettivo viene assegnato da:
AlignmentValue = (1 << AlignmentShift);
FileOffsetToAlign
Offset del file che deve essere allineato all'oggetto AlignmentValue specificato. Deve essere allineato al cluster.
Memory Manager supporta una pagina enorme solo se l'offset del file e l'indirizzo fisico sono allineati a 1 GB.
FallbackAlignmentShift
Se DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED è presente in Flag, questo campo specifica una dimensione del blocco di fallback per allineare l'offset specificato del file ogni volta che non è stato possibile trovare AlignmentShift soddisfacente per l'allocazione.
Osservazioni
Per reimpostare il vincolo di allineamento, è possibile rilasciare questo valore CON ESTENSIONETL con un AlignmentValue pari a 1; ovvero AlignmentShift come 0.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1709 |
intestazione | ntifs.h (include Ntifs.h) |