Bagikan melalui


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

Lihat juga

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread