Fungsi KeExpandKernelStackAndCallout (ntddk.h)
Rutinitas KeExpandKernelStackAndCallout memanggil rutinitas dengan jumlah ruang tumpukan yang dijamin.
Sintaks
NTSTATUS
KeExpandKernelStackAndCallout (
_In_ PEXPAND_STACK_CALLOUT Callout,
_In_opt_ PVOID Parameter,
_In_ SIZE_T Size
);
Parameter
[in] Callout
Penunjuk ke rutinitas ExpandedStackCall .
[in, optional] Parameter
Menentukan parameter yang akan diteruskan ke rutinitas ExpandedStackCall .
[in] Size
Menentukan jumlah byte pada tumpukan untuk disediakan ke rutinitas ExpandedStackCall . Nilai ini harus cukup besar untuk mengakomodasi penggunaan tumpukan rutinitas ExpandedStackCall dan panggilan apa pun yang mungkin dilakukan rutinitas ini. Nilai ini tidak boleh melebihi MAXIMUM_EXPANSION_SIZE.
Nilai kembali
Mengembalikan keberhasilan jika alokasi tumpukan berhasil dan callout telah dipanggil. Jika tidak, mengembalikan status kegagalan.
Keterangan
KeExpandKernelStackAndCallout memperluas tumpukan kernel menurut Byte Ukuran untuk digunakan oleh rutinitas ExpandedStackCall . Jika tidak ada cukup ruang yang tersedia pada tumpukan, KeExpandKernelStackAndCallout mengalokasikan segmen tumpukan kernel baru. Rutinitas kemudian memanggil rutinitas ExpandedStackCall .
Di Windows 7, Windows Server 2008 R2, dan versi Windows yang lebih baru, pertimbangkan untuk menggunakan rutinitas KeExpandKernelStackAndCalloutEx alih-alih KeExpandKernelStackAndCallout. KeExpandKernelStackAndCalloutEx mirip dengan KeExpandKernelStackAndCallout tetapi memiliki parameter tambahan dan dapat dipanggil di IRQL <= DISPATCH_LEVEL.
Utas panggilan tidak boleh memanggil rutinitas PsTerminateSystemThread hingga rutinitas ExpandedStackCall utas kembali. PsTerminateSystemThread memeriksa untuk menentukan apakah rutinitas ExpandedStackCall masih aktif dan, jika ya, menyebabkan pemeriksaan bug.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows Server 2003 pada prosesor berbasis x64, dan dimulai dengan Windows Vista pada semua prosesor. |
Target Platform | Universal |
Header | ntddk.h (termasuk Ntddk.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |