fungsi WDF_ALIGN_SIZE_UP (wdfcore.h)
[Berlaku untuk KMDF dan UMDF]
Fungsi WDF_ALIGN_SIZE_UP mengembalikan ukuran buffer berikutnya yang lebih tinggi yang diratakan ke offset perataan yang ditentukan.
Sintaks
size_t WDF_ALIGN_SIZE_UP(
[in] size_t Length,
[in] size_t AlignTo
);
Parameter
[in] Length
Panjangnya, dalam byte, dari buffer memori.
[in] AlignTo
Offset perataan, dalam byte. Nilai ini harus berupa daya 2, seperti 2, 4, 8, 16, dan sebagainya.
Nilai kembali
WDF_ALIGN_SIZE_UP mengembalikan ukuran buffer yang diratakan, dalam byte.
Keterangan
Driver dapat menggunakan WDF_ALIGN_SIZE_UP atau WDF_ALIGN_SIZE_DOWN untuk menghitung ukuran buffer yang selaras dengan offset perataan tertentu. Perhitungan ini berguna jika driver Anda harus mengalokasikan beberapa buffer yang berdekatan, jika setiap buffer harus dimulai pada batas penyelarasan alamat.
Jika nilai salah satu parameter input terlalu besar, luapan aritmatika menyebabkan WDF_ALIGN_SIZE_UP mengembalikan nilai yang tidak valid yang lebih kecil dari Panjang. Kode Anda harus menguji kondisi ini.
Contoh
Contoh kode berikut menerima ukuran buffer dan mengembalikan ukuran (baik ukuran saat ini atau ukuran yang lebih tinggi berikutnya) yang selaras dengan batas alamat DWORD.
bufferSizeAligned = WDF_ALIGN_SIZE_UP(bufferSize,
sizeof(DWORD));
if (bufferSizeAligned < bufferSize)
{
// Buffer too large.
...
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfcore.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | Setiap IRQL. |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk