estrutura SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT (ntifs.h)
Depois que o Windows emite o SET_DAX_ALLOC_ALIGNMENT_HINT_INPUT controle do sistema de arquivos para um arquivo, ele examina as alocações para o arquivo.
Depois que esse controle do sistema de arquivos for emitido para um arquivo, as alocações a seguir para o arquivo serão examinadas para ver se o deslocamento fornecido está sendo alocado. Nesse caso, o endereço físico da alocação será alinhado ao AlignmentValue especificado se houver espaço livre suficiente disponível nas regiões alinhadas.
Sintaxe
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;
Membros
Flags
Os sinalizadores usados para o controle do sistema de arquivos. Há dois sinalizadores que podem ser usados:
Valor | Significado |
---|---|
DAX_ALLOC_ALIGNMENT_FLAG_MANDATORY | Se a alocação que satisfaz AlignmentShift (ou pelo menos FallbackAlignmentShift , se especificado) não puder ser encontrada, falhará na operação do sistema de arquivos (por exemplo, estendendo o arquivo). |
DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED | Indica que o campo FallbackAlignmentShift está presente na estrutura de entrada e indica um alinhamento de fallback se o alinhamento ideal não estiver disponível. |
AlignmentShift
O tamanho do bloco usado para alinhar o deslocamento fornecido do arquivo. O arquivo é alocado para que o endereço físico do arquivo seja alinhado a esse tamanho de bloco.
O valor real de alinhamento é fornecido por:
AlignmentValue = (1 << AlignmentShift);
FileOffsetToAlign
O deslocamento de arquivo que deve ser alinhado ao AlignmentValue fornecido. Isso deve ser alinhado ao cluster.
O Gerenciador de Memória dá suporte à página enorme somente se o deslocamento de arquivo e o endereço físico estiverem alinhados em 1 gb.
FallbackAlignmentShift
Se DAX_ALLOC_ALIGNMENT_FLAG_FALLBACK_SPECIFIED estiver presente em Sinalizadores, esse campo especificará um tamanho de bloco de fallback para alinhar o deslocamento fornecido do arquivo sempre que não foi possível encontrar a alocação que satisfaz o AlignmentShift.
Comentários
Para redefinir a restrição de alinhamento, você pode emitir esse FSCTL com um AlignmentValue de 1; ou seja, AlignmentShift como 0.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1709 |
Cabeçalho | ntifs.h (inclua Ntifs.h) |