función WDF_ALIGN_SIZE_UP (wdfcore.h)
[Se aplica a KMDF y UMDF]
La función WDF_ALIGN_SIZE_UP devuelve el siguiente tamaño de búfer superior que está alineado con un desplazamiento de alineación especificado.
Sintaxis
size_t WDF_ALIGN_SIZE_UP(
[in] size_t Length,
[in] size_t AlignTo
);
Parámetros
[in] Length
Longitud, en bytes, de un búfer de memoria.
[in] AlignTo
Desplazamiento de alineación, en bytes. Este valor debe ser una potencia de 2, como 2, 4, 8, 16, etc.
Valor devuelto
WDF_ALIGN_SIZE_UP devuelve el tamaño del búfer alineado, en bytes.
Comentarios
Los controladores pueden usar WDF_ALIGN_SIZE_UP o WDF_ALIGN_SIZE_DOWN para calcular un tamaño de búfer alineado con un desplazamiento de alineación especificado. Este cálculo es útil si el controlador debe asignar varios búferes contiguos, si cada búfer debe comenzar en un límite de alineación de direcciones.
Si el valor de cualquiera de los parámetros de entrada es demasiado grande, el desbordamiento aritmético hace que WDF_ALIGN_SIZE_UP devuelva un valor no válido menor que Length. El código debe probar esta condición.
Ejemplos
En el ejemplo de código siguiente se recibe un tamaño de búfer y se devuelve el tamaño (el tamaño actual o el siguiente tamaño superior) que se alinea con un límite de dirección DWORD.
bufferSizeAligned = WDF_ALIGN_SIZE_UP(bufferSize,
sizeof(DWORD));
if (bufferSizeAligned < bufferSize)
{
// Buffer too large.
...
}
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfcore.h (incluya Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | Cualquier IRQL. |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de