WDF_ALIGN_SIZE_UP-Funktion (wdfcore.h)
[Gilt für KMDF und UMDF]
Die WDF_ALIGN_SIZE_UP-Funktion gibt die nächsthöhere Puffergröße zurück, die an einem angegebenen Ausrichtungsoffset ausgerichtet ist.
Syntax
size_t WDF_ALIGN_SIZE_UP(
[in] size_t Length,
[in] size_t AlignTo
);
Parameter
[in] Length
Die Länge eines Speicherpuffers in Bytes.
[in] AlignTo
Der Ausrichtungsoffset in Bytes. Dieser Wert muss eine Potenz von 2 sein, z. B. 2, 4, 8, 16 usw.
Rückgabewert
WDF_ALIGN_SIZE_UP gibt die ausgerichtete Puffergröße in Bytes zurück.
Hinweise
Treiber können WDF_ALIGN_SIZE_UP oder WDF_ALIGN_SIZE_DOWN verwenden, um eine Puffergröße zu berechnen, die an einem angegebenen Ausrichtungsoffset ausgerichtet ist. Diese Berechnung ist nützlich, wenn Ihr Treiber mehrere zusammenhängende Puffer zuordnen muss, wenn jeder Puffer an einer Adressausrichtungsgrenze beginnen muss.
Wenn der Wert eines eingabeparameters zu groß ist, führt der arithmetische Überlauf dazu, dass WDF_ALIGN_SIZE_UP einen ungültigen Wert zurückgibt, der kleiner als Length ist. Ihr Code sollte auf diese Bedingung testen.
Beispiele
Das folgende Codebeispiel empfängt eine Puffergröße und gibt die Größe (entweder die aktuelle Größe oder die nächsthöhere Größe) zurück, die an einer DWORD-Adressgrenze ausgerichtet ist.
bufferSizeAligned = WDF_ALIGN_SIZE_UP(bufferSize,
sizeof(DWORD));
if (bufferSizeAligned < bufferSize)
{
// Buffer too large.
...
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
KMDF-Mindestversion | 1.0 |
UMDF-Mindestversion | 2.0 |
Kopfzeile | wdfcore.h (einschließen von Wdf.h) |
Bibliothek | Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).) |
IRQL | Beliebige IRQL. |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für