Функция
TlsSetValueФункция
TlsSetValue сохраняет значение установленного индекса TLS в слоте локальной памяти (TLS) вызывающего потока. Каждый поток процесса имеет свою собственную область памяти (слот) для каждого индекса TLS.Синтаксис
dwTlsIndex, // индекс TLS LPVOID lpTlsValue // значение, которое сохраняется); |
Параметры
dwTlsIndex
[in] Индекс локальной памяти потока (
TLS), который был назначен функцией TlsAlloc.lpTlsValue
[in] Значение индекса, заданное при помощи
dwTlsIndex, которое будет сохранено в слоте TLS вызывающего потока.Возвращаемые значения
Если функция завершается успешно, величина возвращаемого значения - не ноль.
Если функция завершается с ошибкой, величина возвращаемого значения - ноль. Чтобы получить дополнительные данные об ошибках, вызовите
GetLastError.Замечания
Индексы
TLS обычно назначаются функцией TlsAlloc в ходе инициализации процесса или DLL. После назначения, каждый поток процесса может использовать индекс TLS, чтобы обратиться к своему собственному слоту памяти TLS для этого индекса. Область памяти (слот) для каждого потока инициализируется значениями ПУСТО (NULL). Поток определяет индекс TLS при вызове функции TlsSetValue, которая сохраняет значение в его слоте. Поток определяет тот же самый индекс при последующем вызове функции TlsGetValue, которая извлекает сохраненное значение.Функция
TlsSetValue была реализована, с первой целью, обеспечить быстродействие. Эти функции выполняют минимальную проверку правильности параметра и проверку ошибок. В частности эта функция завершается успешно, если dwTlsIndex находится в диапазоне от 0 до (TLS_MINIMUM_AVAILABLE - 1). Это зависит от программиста, который должен гарантировать, что индекс допустим.Код примера
Пример смотри
Использование локальной памяти потока или Использование локальной памяти потока в динамически подключаемых библиотеках.Смотри также
Краткий обзор Процессы и потоки, Функции, используемые процессами и потоками, TlsAlloc, TlsFree, TlsGetValue
Размещение и совместимость TlsSetValue |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 3.1 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Kernel32.lib |
Заголовочный файл |
|
- объявлено в |
Winbase.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |