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

WDF_ALIGN_SIZE_DOWN