Fungsi IoAllocateDriverObjectExtension (wdm.h)

Rutinitas IoAllocateDriverObjectExtension mengalokasikan area konteks per driver, yang disebut ekstensi objek driver, dan menetapkan pengidentifikasi unik untuk itu.

Sintaks

NTSTATUS IoAllocateDriverObjectExtension(
  [in]  PDRIVER_OBJECT DriverObject,
  [in]  PVOID          ClientIdentificationAddress,
  [in]  ULONG          DriverObjectExtensionSize,
  [out] PVOID          *DriverObjectExtension
);

Parameter

[in] DriverObject

Penunjuk ke objek driver tempat area konteks akan dikaitkan.

[in] ClientIdentificationAddress

Menentukan pengidentifikasi unik untuk area konteks yang akan dialokasikan.

[in] DriverObjectExtensionSize

Menentukan panjang, dalam byte, dari area konteks yang akan dialokasikan.

[out] DriverObjectExtension

Pointer ke, setelah selesai, area konteks yang dialokasikan.

Nilai kembali

IoAllocateDriverObjectExtension mengembalikan salah satu kode NTSTATUS berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Menunjukkan bahwa rutinitas mengalokasikan ekstensi dari ukuran yang diminta.
STATUS_INSUFFICIENT_RESOURCES
Menunjukkan bahwa memori tidak dapat dialokasikan untuk ekstensi objek driver.
STATUS_OBJECT_NAME_COLLISION
Menunjukkan bahwa ekstensi objek driver dengan ClientIdentificationAddress yang diberikan sudah ada.

Keterangan

Memori yang dialokasikan oleh sistem untuk ekstensi objek driver adalah penyimpanan residen dan dapat diakses dari IRQL apa pun. Penyimpanan yang dialokasikan secara otomatis dibebaskan oleh manajer I/O saat objek driver dihapus.

Penelepon rutin ini harus memberikan pengidentifikasi unik untuk ClientIdentificationAddress. Untuk mengambil pointer ke area konteks, penelepon meneruskan ClientIdentificationAddress ke IoGetDriverObjectExtension.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Lihat juga

IoGetDriverObjectExtension