Поделиться через


Функция TlsSetValue (processthreadsapi.h)

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

Синтаксис

BOOL TlsSetValue(
  [in]           DWORD  dwTlsIndex,
  [in, optional] LPVOID lpTlsValue
);

Параметры

[in] dwTlsIndex

Индекс TLS, выделенный функцией TlsAlloc .

[in, optional] lpTlsValue

Значение, которое будет храниться в слоте TLS вызывающего потока для индекса.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Windows Phone 8.1. Эта функция поддерживается для приложений магазина Windows Phone в Windows Phone 8.1 и более поздних версий. Когда приложение Windows Phone Store вызывает эту функцию, она заменяется встроенным вызовом FlsSetValue. Документацию по функциям см. в разделе FlsSetValue .

Windows 8.1, Windows Server 2012 R2 и Windows 10 версии 1507: эта функция поддерживается для приложений Магазина Windows в Windows 8.1, Windows Server 2012 R2 и Windows 10 версии 1507. Когда приложение Магазина Windows вызывает эту функцию, она заменяется встроенным вызовом FlsSetValue. Документацию по функциям см. в разделе FlsSetValue .

Windows 10 версии 1511 и Windows 10 версии 1607: эта функция полностью поддерживается для приложений универсальная платформа Windows (UWP) и больше не заменяется встроенным вызовом FlsSetValue.

Индексы TLS обычно выделяются функцией TlsAlloc во время инициализации процесса или библиотеки DLL. При выделении индекса TLS его слоты хранения инициализируются значением NULL. После выделения индекса TLS каждый поток процесса может использовать его для доступа к собственному слоту TLS для этого индекса. Поток задает индекс TLS в вызове TlsSetValue для хранения значения в своем слоте. Поток задает тот же индекс при последующем вызове TlsGetValue, чтобы получить сохраненное значение.

TlsSetValue был реализован со скоростью в качестве основной цели. Функция выполняет минимальную проверку параметров и проверку ошибок. В частности, он завершается успешно, если dwTlsIndex находится в диапазоне от 0 до (TLS_MINIMUM_AVAILABLE –1). Перед вызовом TlsGetValue необходимо убедиться, что индекс действителен.

Примеры

Пример см. в разделе Использование локального хранилища потока или Использование локального хранилища потока в библиотеке Dynamic-Link.

Требования

Требование Значение
Минимальная версия клиента Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2003 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header processthreadsapi.h (включая Windows.h в Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Библиотека Kernel32.lib; WindowsPhoneCore.lib на Windows Phone 8.1
DLL KernelBase.dll Windows Phone 8.1; Kernel32.dll

См. также раздел

Функции процессов и потоков

локальное хранилище потока

TlsAlloc

TlsFree

TlsGetValue

API-интерфейсы Vertdll, доступные в анклавах VBS