Fungsi LeaveCriticalSection (synchapi.h)

Merilis kepemilikan objek bagian penting yang ditentukan.

Sintaks

void LeaveCriticalSection(
  [in, out] LPCRITICAL_SECTION lpCriticalSection
);

Parameter

[in, out] lpCriticalSection

Penunjuk ke objek bagian penting.

Mengembalikan nilai

Tidak ada

Keterangan

Utas dari satu proses dapat menggunakan objek bagian kritis untuk sinkronisasi saling pengecualian. Proses ini bertanggung jawab untuk mengalokasikan memori yang digunakan oleh objek bagian kritis, yang dapat dilakukannya dengan mendeklarasikan variabel jenis CRITICAL_SECTION. Sebelum menggunakan bagian penting, beberapa utas proses harus memanggil fungsi InitializeCriticalSection atau InitializeCriticalSectionAndSpinCount untuk menginisialisasi objek.

Utas menggunakan fungsi EnterCriticalSection atau TryEnterCriticalSection untuk memperoleh kepemilikan objek bagian penting. Untuk merilis kepemilikannya, utas harus memanggil LeaveCriticalSection sekali untuk setiap kali memasuki bagian kritis.

Jika utas memanggil LeaveCriticalSection ketika tidak memiliki kepemilikan objek bagian penting yang ditentukan, kesalahan terjadi yang dapat menyebabkan utas lain menggunakan EnterCriticalSection menunggu tanpa batas waktu.

LeaveCriticalSection tidak mengakses struktur CRITICAL_SECTION yang ditentukan setelah kepemilikan objek bagian penting dirilis.

Setiap utas proses dapat menggunakan fungsi DeleteCriticalSection untuk merilis sumber daya sistem yang dialokasikan saat objek bagian penting diinisialisasi. Setelah fungsi ini dipanggil, objek bagian penting tidak dapat lagi digunakan untuk sinkronisasi.

Contoh

Untuk contoh yang menggunakan LeaveCriticalSection, lihat Menggunakan Objek Bagian Penting.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header synchapi.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

Objek Bagian Kritis

DeleteCriticalSection

EnterCriticalSection

InitializeCriticalSection

InitializeCriticalSectionAndSpinCount

Fungsi Sinkronisasi

TryEnterCriticalSection

Api Vertdll tersedia di enklave VBS