Funzione SetThreadStackGuarantee (processthreadsapi.h)
Imposta le dimensioni minime dello stack associato al thread chiamante o alla fibra che saranno disponibili durante qualsiasi eccezione di overflow dello stack. Questo è utile per gestire le eccezioni di overflow dello stack; l'applicazione può usare in modo sicuro il numero specificato di byte durante la gestione delle eccezioni.
BOOL SetThreadStackGuarantee(
[in, out] PULONG StackSizeInBytes
);
[in, out] StackSizeInBytes
Dimensioni dello stack, in byte. In caso di ritorno, questo valore viene impostato sulle dimensioni dello stack precedente, in byte.
Se questo parametro è 0 (zero), la funzione ha esito positivo e il parametro contiene le dimensioni dello stack corrente.
Se la dimensione specificata è minore della dimensione corrente, la funzione ha esito positivo ma ignora questa richiesta. Pertanto, non è possibile usare questa funzione per ridurre le dimensioni dello stack.
Questo valore non può essere maggiore delle dimensioni dello stack riservato.
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è 0 (zero). Per informazioni dettagliate sull'errore, chiamare GetLastError.
Se la funzione ha esito positivo, l'applicazione può gestire le possibili eccezioni EXCEPTION_STACK_OVERFLOW usando la gestione delle eccezioni strutturate. Per riprendere l'esecuzione dopo aver gestito un overflow dello stack, è necessario eseguire determinati passaggi di ripristino. Se si usa il compilatore Microsoft C/C++, chiamare la funzione _resetstkoflw . Se si usa un altro compilatore, vedere la documentazione del compilatore per informazioni sul ripristino da overflow dello stack.
Per impostare la garanzia dello stack per una fibra, è prima necessario chiamare la funzione SwitchToFiber per eseguire la fibra. Dopo aver impostato la garanzia per questa fibra, viene usata dalla fibra indipendentemente dal thread che esegue la fibra.
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista, Windows XP Professional x64 Edition [solo app desktop] |
Server minimo supportato | Windows Server 2008, Windows Server 2003 con SP1 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | processthreadsapi.h (includere Windows.h in Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |