Función TlsAlloc (processthreadsapi.h)

Asigna un índice de almacenamiento local (TLS) de subproceso. Cualquier subproceso del proceso puede usar posteriormente este índice para almacenar y recuperar valores que son locales para el subproceso, ya que cada subproceso recibe su propia ranura para el índice.

Sintaxis

DWORD TlsAlloc();

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un índice TLS. Las ranuras del índice se inicializan en cero.

Si se produce un error en la función, el valor devuelto es TLS_OUT_OF_INDEXES. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Windows Phone 8.1: esta función es compatible con las aplicaciones de Windows Phone Store en Windows Phone 8.1 y versiones posteriores. Cuando una aplicación de Windows Phone Store llama a esta función, se reemplaza por una llamada insertada a FlsAlloc. Consulte FlsAlloc para obtener documentación sobre la función.

Windows 8.1, Windows Server 2012 R2 y Windows 10, versión 1507: esta función es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y Windows 10, versión 1507. Cuando una aplicación de la Tienda Windows llama a esta función, se reemplaza por una llamada en línea a FlsAlloc. Consulte FlsAlloc para obtener documentación sobre la función.

Windows 10, versión 1511 y Windows 10, versión 1607: esta función es totalmente compatible con las aplicaciones de Plataforma universal de Windows (UWP) y ya no se reemplaza por una llamada insertada a FlsAlloc.

Los subprocesos del proceso pueden usar el índice TLS en llamadas posteriores a las funciones TlsFree, TlsSetValue o TlsGetValue . El valor del índice TLS debe tratarse como un valor opaco; no suponga que es un índice en una matriz de base cero.

Normalmente, los índices TLS se asignan durante la inicialización de la biblioteca de vínculos dinámicos (DLL) o del proceso. Cuando se asigna un índice TLS, sus ranuras de almacenamiento se inicializan en NULL. Una vez asignado un índice TLS, cada subproceso del proceso puede usarlo para acceder a su propia ranura de almacenamiento TLS. Para almacenar un valor en su ranura TLS, un subproceso especifica el índice en una llamada a TlsSetValue. El subproceso especifica el mismo índice en una llamada posterior a TlsGetValue, para recuperar el valor almacenado.

Los índices TLS no son válidos entre los límites del proceso. Un archivo DLL no puede suponer que un índice asignado en un proceso es válido en otro proceso.

Ejemplos

Para obtener un ejemplo, consulte Uso del almacenamiento local de subprocesos o Uso del almacenamiento local de subprocesos en una biblioteca de Dynamic-Link.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado processthreadsapi.h (incluya Windows.h en Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib; WindowsPhoneCore.lib en Windows Phone 8.1
Archivo DLL KernelBase.dll en Windows Phone 8.1; Kernel32.dll

Consulte también

Funciones de proceso y subproceso

Almacenamiento local de subprocesos

TlsFree

TlsGetValue

TlsSetValue

API de Vertdll disponibles en enclaves de VBS