(toppers-users 2403) TlsAlloc,TlsSetValueについて

Naoto Yamashita n-yama @ systemdesign.co.jp
2006年 4月 13日 (木) 14:58:58 JST


こんにちは。
山下と申します。

Windows APIのTlsAlloc,TlsSetValueについてご教授をお願いします。

 Toppers/JSPカーネル1.4のconfig/primary_thread.cでTLS用APIを
 以下のように使用している箇所があります。

    TlsAlloc();

    TlsSetValue(TLS_LOGMASK, (LPVOID)1);
    TlsSetValue(TLS_THREADHANDLE, (LPVOID)CurrentRunningThreadHandle);

 TlsAlloc,TlsSetValueを参考文献などは、TlsAllocを実行した結果として
 返される値(インデックス)をTlsSetValueの第一引数として与えると
 記載されていました。
 Toppers/JSPカーネルでは、TlsSetValueの第一引数のインデックスに
 固定の値(TLS_LOGMASK、TLS_THREADHANDLE)を設定していますが、
 このような使い方で問題ないのでしょうか。

 ちなみに、当方環境で、TlsAllocを実行したところ戻り値として21が
 返されました。
 TLS_LOGMASK、TLS_THREADHANDLEについては、以下の値として
 定義されています。
#define TLS_LOGMASK         0x00000001      //ログ出力マスク
#define TLS_THREADHANDLE    0x00000002      //CreateThreadしたときのハンドル

アドバイスの程、よろしくお願い致します。