Функция TlsSetValue

Функция TlsSetValue сохраняет значение установленного индекса TLS в слоте локальной памяти (TLS) вызывающего потока. Каждый поток процесса имеет свою собственную область памяти (слот) для каждого индекса TLS.

Синтаксис

BOOL TlsSetValue(

DWORD 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

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz