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