共用方式為


KeExpandKernelStackAndCallout 函式 (ntddk.h)

KeExpandKernelStackAndCallout 例程會呼叫具有保證堆棧空間量的例程。

語法

NTSTATUS
KeExpandKernelStackAndCallout (
    _In_ PEXPAND_STACK_CALLOUT Callout,
    _In_opt_ PVOID Parameter,
    _In_ SIZE_T Size
    );

參數

[in] Callout

ExpandedStackCall 例程的指標。

[in, optional] Parameter

指定要傳遞至 ExpandedStackCall 例程的參數。

[in] Size

指定要提供給 ExpandedStackCall 例程的堆棧位元組數目。 此值必須夠大,才能容納 ExpandedStackCall 例程的堆疊使用量,以及此例程可能進行的任何呼叫。 此值不得超過 MAXIMUM_EXPANSION_SIZE。

傳回值

如果堆疊配置成功且已呼叫圖說文字,則傳回成功。 否則,會傳回失敗狀態。

言論

KeExpandKernelStackAndCalloutSize 位元組來擴充核心堆疊,以供 ExpandStackCall 例程使用。 如果堆疊上沒有足夠的空間,KeExpandKernelStackAndCallout 配置新的核心堆疊區段。 然後,例程會呼叫 ExpandedStackCall 例程。

在 Windows 7、Windows Server 2008 R2 和更新版本的 Windows 中,請考慮使用 KeExpandKernelStackAndCalloutEx 例程,而不是 KeExpandKernelStackAndCalloutKeExpandKernelStackAndCalloutEx 類似於 KeExpandKernelStackAndCallout,但具有額外的參數,而且可以在 IRQL <= DISPATCH_LEVEL呼叫。

呼叫線程在線程 ExpandedStackCall 例程傳回之前,不得呼叫 PsTerminateSystemThread 例程。 PsTerminateSystemThread 會檢查,以判斷 ExpandedStackCall 例程是否仍在使用中,如果為 ,則會導致錯誤檢查。

要求

要求 價值
最低支援的用戶端 從 x64 型處理器上的 Windows Server 2003 開始提供,並從所有處理器上的 Windows Vista 開始。
目標平臺 普遍
標頭 ntddk.h (包括 Ntddk.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

ExpandedStackCall

KeExpandKernelStackAndCalloutEx

PsTerminateSystemThread