Fungsi StorPortAllocatePool (storport.h)
Rutinitas StorPortAllocatePool mengalokasikan blok memori kumpulan non-halaman yang tidak berdampingan.
Sintaks
ULONG StorPortAllocatePool(
[in] PVOID HwDeviceExtension,
[in] ULONG NumberOfBytes,
[in] ULONG Tag,
[out] PVOID *BufferPointer
);
Parameter
[in] HwDeviceExtension
Pointer ke ekstensi perangkat keras untuk adaptor bus host (HBA).
[in] NumberOfBytes
Ukuran, dalam byte, dari blok memori yang dialokasikan.
[in] Tag
Tag kumpulan untuk memori yang dialokasikan. Driver menentukan tag kumpulan sebagai string empat karakter ASCII, dibatasi oleh tanda kutip tunggal. String biasanya ditentukan dalam urutan terbalik.
[out] BufferPointer
Penunjuk ke alamat blok memori yang dialokasikan atau NULL jika tidak berhasil.
Nilai kembali
StorPortAllocatePool mengembalikan salah satu kode status berikut:
Menampilkan kode | Deskripsi |
---|---|
STOR_STATUS_NOT_IMPLEMENTED | Fungsi ini tidak diimplementasikan pada sistem operasi aktif. |
STOR_STATUS_SUCCESS | Menunjukkan bahwa rutinitas berhasil mengalokasikan blok memori dengan ukuran yang diminta. |
STOR_STATUS_INVALID_PARAMETER | Penunjuk untuk menerima alamat buffer adalah NULL. |
STOR_STATUS_INVALID_IRQL | Panggilan dilakukan pada IRQL yang tidak valid. |
STOR_STATUS_INSUFFICIENT_RESOURCES | Tidak dapat mengalokasikan memori dengan ukuran yang diminta. |
Keterangan
Driver miniport memanggil rutinitas StorPortAllocatePool untuk mengalokasikan blok memori yang tidak berdampingan dari kumpulan non-halaman. Untuk membebaskan blok memori, driver miniport memanggil StorPortFreePool. Jika permintaan gagal, BufferPointer akan diatur ke NULL.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | storport.h (termasuk Storport.h) |
IRQL | <=DISPATCH_LEVEL |
Aturan kepatuhan DDI | StorPortAllocatePool(storport), StorPortAllocatePool2(storport), StorPortIrql(storport) |