Fungsi KsCreateDefaultAllocatorEx (ks.h)

Membuat alokator default yang menggunakan kumpulan memori yang ditentukan dan mengaitkan IoGetCurrentIrpStackLocation(pIrp)->FileObject dengan alokator ini menggunakan tabel pengiriman internal (KSDISPATCH_TABLE).

Sintaks

KSDDKAPI NTSTATUS KsCreateDefaultAllocatorEx(
  [in]           PIRP                     Irp,
  [in, optional] PVOID                    InitializeContext,
  [in, optional] PFNKSDEFAULTALLOCATE     DefaultAllocate,
  [in, optional] PFNKSDEFAULTFREE         DefaultFree,
  [in, optional] PFNKSINITIALIZEALLOCATOR InitializeAllocator,
  [in, optional] PFNKSDELETEALLOCATOR     DeleteAllocator
);

Parameter

[in] Irp

Berisi IRP dengan permintaan pembuatan alokator yang sedang ditangani.

[in, optional] InitializeContext

Secara opsional berisi konteks yang akan digunakan dengan alokator eksternal. Ini hanya digunakan sebagai konteks inisialisasi untuk panggilan balik InitializeAllocator opsional saat membuat konteks alokator. Parameter tidak digunakan sebaliknya. Jika alokator eksternal tidak disediakan, parameter ini harus diatur ke NULL.

[in, optional] DefaultAllocate

Secara opsional berisi fungsi alokasi eksternal yang digunakan sebagai pengganti alokasi kumpulan default. Jika ini NULL, alokasi default digunakan.

[in, optional] DefaultFree

Secara opsional berisi fungsi bebas eksternal yang digunakan sebagai pengganti alokasi kumpulan default. Jika alokator eksternal tidak disediakan, parameter ini harus diatur ke NULL.

[in, optional] InitializeAllocator

Secara opsional berisi fungsi inisialisasi alokator eksternal tempat parameter InitializeContext diteruskan. Fungsi ini diharapkan mengembalikan konteks alokator berdasarkan pembingkaian alokator. Jika alokator eksternal tidak disediakan, parameter ini harus diatur ke NULL.

[in, optional] DeleteAllocator

Secara opsional berisi fungsi penghapusan alokator eksternal yang digunakan untuk alokator eksternal. Jika alokator eksternal tidak disediakan, parameter ini harus diatur ke NULL.

Nilai kembali

Mengembalikan STATUS_SUCCESS, jika tidak, kesalahan pada kegagalan pembuatan alokator default. Tidak menyelesaikan IRP atau mengatur status dalam IRP.

Keterangan

Sebelum memanggil rutinitas ini, makro KSCREATE_ITEM_IRP_STORAGE(Irp) harus mengembalikan penunjuk ke struktur KSOBJECT_CREATE_ITEM yang merupakan item buat untuk alokator ini. KsCreateDefaultAllocatorEx mengatur FsContext untuk menunjuk ke nilai pengembalian makro ini. Dengan demikian, FsContext nantinya dapat digunakan untuk kueri atau perubahan pendeskripsi keamanan.

Anda dapat menemukan KSCREATE_ITEM_IRP_STORAGE(Irp) dan makro terkait di ks.h.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ks.h (termasuk Ks.h)
Pustaka Ks.lib