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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de