Bagikan melalui


Fungsi TlsAlloc (processthreadsapi.h)

Mengalokasikan indeks penyimpanan lokal utas (TLS). Setiap utas proses kemudian dapat menggunakan indeks ini untuk menyimpan dan mengambil nilai yang lokal ke utas, karena setiap utas menerima slotnya sendiri untuk indeks.

Sintaks

DWORD TlsAlloc();

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah indeks TLS. Slot untuk indeks diinisialisasi ke nol.

Jika fungsi gagal, nilai yang dikembalikan TLS_OUT_OF_INDEXES. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Windows Phone 8.1: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8.1 dan yang lebih baru. Saat aplikasi Windows Phone Store memanggil fungsi ini, aplikasi diganti dengan panggilan sebaris ke FlsAlloc. Lihat FlsAlloc untuk dokumentasi fungsi.

Windows 8.1, Windows Server 2012 R2, dan Windows 10, versi 1507: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan Windows 10, versi 1507. Ketika aplikasi Windows Store memanggil fungsi ini, aplikasi diganti dengan panggilan sebaris ke FlsAlloc. Lihat FlsAlloc untuk dokumentasi fungsi.

Windows 10, versi 1511 dan Windows 10, versi 1607: Fungsi ini didukung penuh untuk aplikasi Platform Windows Universal (UWP), dan tidak lagi diganti dengan panggilan sebaris ke FlsAlloc.

Utas proses dapat menggunakan indeks TLS dalam panggilan berikutnya ke fungsi TlsFree, TlsSetValue, atau TlsGetValue . Nilai indeks TLS harus diperlakukan sebagai nilai buram; jangan berasumsi bahwa itu adalah indeks ke dalam array berbasis nol.

Indeks TLS biasanya dialokasikan selama proses atau inisialisasi pustaka tautan dinamis (DLL). Ketika indeks TLS dialokasikan, slot penyimpanannya diinisialisasi ke NULL. Setelah indeks TLS dialokasikan, setiap utas proses dapat menggunakannya untuk mengakses slot penyimpanan TLS-nya sendiri. Untuk menyimpan nilai di slot TLS-nya, utas menentukan indeks dalam panggilan ke TlsSetValue. Utas menentukan indeks yang sama dalam panggilan berikutnya ke TlsGetValue, untuk mengambil nilai yang disimpan.

Indeks TLS tidak valid di seluruh batas proses. DLL tidak dapat mengasumsikan bahwa indeks yang ditetapkan dalam satu proses valid dalam proses lain.

Contoh

Misalnya, lihat Menggunakan Penyimpanan Lokal Utas atau Menggunakan Penyimpanan Lokal Utas di Pustaka Dynamic-Link.

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 processthreadsapi.h (termasuk Windows.h di Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Pustaka Kernel32.lib; WindowsPhoneCore.lib di Windows Phone 8.1
DLL KernelBase.dll pada Windows Phone 8.1; Kernel32.dll

Lihat juga

Fungsi Proses dan Utas

Thread Local Storage

TlsFree

TlsGetValue

TlsSetValue

Api Vertdll tersedia di enklave VBS