Fungsi SetThreadStackGuarantee (processthreadsapi.h)

Mengatur ukuran minimum tumpukan yang terkait dengan utas panggilan atau serat yang akan tersedia selama pengecualian luapan tumpukan apa pun. Ini berguna untuk menangani pengecualian luapan tumpukan; aplikasi dapat dengan aman menggunakan jumlah byte yang ditentukan selama penanganan pengecualian.

Sintaks

BOOL SetThreadStackGuarantee(
  [in, out] PULONG StackSizeInBytes
);

Parameter

[in, out] StackSizeInBytes

Ukuran tumpukan, dalam byte. Saat dikembalikan, nilai ini diatur ke ukuran tumpukan sebelumnya, dalam byte.

Jika parameter ini adalah 0 (nol), fungsi berhasil dan parameter berisi ukuran tumpukan saat ini.

Jika ukuran yang ditentukan kurang dari ukuran saat ini, fungsi berhasil tetapi mengabaikan permintaan ini. Oleh karena itu, Anda tidak dapat menggunakan fungsi ini untuk mengurangi ukuran tumpukan.

Nilai ini tidak boleh lebih besar dari ukuran tumpukan yang dipesan.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah 0 (nol). Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika fungsi berhasil, aplikasi dapat menangani kemungkinan pengecualian EXCEPTION_STACK_OVERFLOW menggunakan penanganan pengecualian terstruktur. Untuk melanjutkan eksekusi setelah menangani luapan tumpukan, Anda harus melakukan langkah-langkah pemulihan tertentu. Jika Anda menggunakan pengkompilasi Microsoft C/C++, panggil fungsi _resetstkoflw . Jika Anda menggunakan pengkompilasi lain, lihat dokumentasi untuk pengkompilasi untuk informasi tentang pemulihan dari luapan tumpukan.

Untuk mengatur jaminan tumpukan untuk serat, Anda harus terlebih dahulu memanggil fungsi SwitchToFiber untuk menjalankan serat. Setelah Anda menetapkan jaminan untuk serat ini, itu digunakan oleh serat tidak peduli utas mana yang mengeksekusi serat.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista, Windows XP Professional x64 Edition [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008, Windows Server 2003 dengan SP1 [hanya aplikasi desktop]
Target Platform Windows
Header processthreadsapi.h (termasuk Windows.h pada Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

Fungsi Proses dan Utas

Ukuran Tumpukan Utas

Threads

Api Vertdll tersedia di enklave VBS