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)