função WDF_ALIGN_SIZE_UP (wdfcore.h)

[Aplica-se a KMDF e UMDF]

A função WDF_ALIGN_SIZE_UP retorna o próximo tamanho de buffer mais alto alinhado a um deslocamento de alinhamento especificado.

Sintaxe

size_t WDF_ALIGN_SIZE_UP(
  [in] size_t Length,
  [in] size_t AlignTo
);

Parâmetros

[in] Length

O comprimento, em bytes, de um buffer de memória.

[in] AlignTo

O deslocamento de alinhamento, em bytes. Esse valor deve ser uma potência de 2, como 2, 4, 8, 16 e assim por diante.

Retornar valor

WDF_ALIGN_SIZE_UP retorna o tamanho do buffer alinhado, em bytes.

Comentários

Os drivers podem usar WDF_ALIGN_SIZE_UP ou WDF_ALIGN_SIZE_DOWN para calcular um tamanho de buffer alinhado a um deslocamento de alinhamento especificado. Esse cálculo será útil se o driver precisar alocar vários buffers contíguos, se cada buffer precisar começar em um limite de alinhamento de endereço.

Se o valor de qualquer parâmetro de entrada for muito grande, o estouro aritmético fará com que WDF_ALIGN_SIZE_UP retornem um valor inválido menor que Length. Seu código deve testar essa condição.

Exemplos

O exemplo de código a seguir recebe um tamanho de buffer e retorna o tamanho (o tamanho atual ou o tamanho mais próximo) que se alinha a um limite de endereço DWORD.

bufferSizeAligned = WDF_ALIGN_SIZE_UP(bufferSize,
                                      sizeof(DWORD));
if (bufferSizeAligned < bufferSize)
{
    // Buffer too large.
    ...
}

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfcore.h (inclua Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL Qualquer IRQL.

Confira também

WDF_ALIGN_SIZE_DOWN