Bagikan melalui


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)

Lihat juga

StorPortFreePool