スレッドローカルストレージ (TLS) インデックスを割り当てる。プロセスの任意のスレッドが、以後そのインデックスを使ってスレッド固有の値を格納・取得できる。各スレッドはそのインデックス用の独自スロットを受け取る。
TlsAlloc
(プラグイン / モジュール : kernel32.dll)
スレッドローカルストレージ (TLS) インデックスを割り当てる。プロセスの任意のスレッドが、以後そのインデックスを使ってスレッド固有の値を格納・取得できる。各スレッドはそのインデックス用の独自スロットを受け取る。 [戻り値] 関数が成功した場合、戻り値は TLS インデックス。インデックスのスロットは 0 に初期化される。関数が失敗した場合、戻り値は TLS_OUT_OF_INDEXES。拡張エラー情報を取得するには GetLastError を呼ぶ。 [備考] Windows Phone 8.1: 本関数は Windows Phone 8.1 以降の Windows Phone ストアアプリでサポートされる。Windows Phone ストアアプリが本関数を呼ぶと、FlsAlloc へのインライン呼び出しに置換される。詳細は FlsAlloc を参照。Windows 8.1、Windows Server 2012 R2、Windows 10 version 1507: 本関数は Windows ストアアプリでサポートされる。Windows ストアアプリが呼ぶと FlsAlloc へのインライン呼び出しに置換される。Windows 10 version 1511 以降: 本関数は UWP アプリで完全にサポートされ、もはや FlsAlloc に置換されない。プロセスのスレッドはその後 TLS インデックスを TlsFree、TlsSetValue、TlsGetValue で使用できる。TLS インデックスの値は不透明値として扱い、0 起点配列のインデックスとは仮定しないこと。TLS インデックスは通常プロセスや DLL 初期化中に割り当てる。割り当てられた直後、その格納スロットは NULL に初期化される。割り当て後、プロセスの各スレッドはその TLS スロットへのアクセスにそのインデックスを使える。スレッドは TlsSetValue にインデックスを指定して TLS スロットに値を格納し、後の TlsGetValue で取り出す。TLS インデックスはプロセス境界を越えて有効ではない。DLL は、あるプロセスで割り当てられたインデックスが別プロセスで有効と仮定してはならない。
| プラグイン / モジュール | kernel32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_kernel32_gen2.hs |