Función GetTempPathA (fileapi.h)

Recupera la ruta de acceso del directorio designado para los archivos temporales.

Sintaxis

DWORD GetTempPathA(
  [in]  DWORD nBufferLength,
  [out] LPSTR lpBuffer
);

Parámetros

[in] nBufferLength

Tamaño del búfer de cadenas identificado por lpBuffer, en TCHAR.

[out] lpBuffer

Puntero a un búfer de cadenas que recibe la cadena terminada en NULL que especifica la ruta de acceso del archivo temporal. La cadena devuelta termina con una barra diagonal inversa, por ejemplo, "C:\TEMP\".

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es la longitud, en TCHAR, de la cadena copiada en lpBuffer, sin incluir el carácter nulo de terminación. Si el valor devuelto es mayor que nBufferLength, el valor devuelto es la longitud, en TCHAR, del búfer necesario para contener la ruta de acceso.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

El valor devuelto máximo posible es MAX_PATH+1 (261).

Comentarios

Nota

Las aplicaciones deben llamar a GetTempPath2 en lugar de GetTempPath.

La función GetTempPath comprueba la existencia de variables de entorno en el orden siguiente y usa la primera ruta de acceso encontrada:

  1. Ruta de acceso especificada por la variable de entorno TMP.
  2. Ruta de acceso especificada por la variable de entorno TEMP.
  3. Ruta de acceso especificada por la variable de entorno USERPROFILE.
  4. El directorio de Windows.
Tenga en cuenta que la función no comprueba que la ruta de acceso existe ni prueba para ver si el proceso actual tiene algún tipo de derechos de acceso a la ruta de acceso. La función GetTempPath devuelve la cadena con el formato correcto que especifica la ruta de acceso completa basada en el orden de búsqueda de la variable de entorno tal y como se especificó anteriormente. La aplicación debe comprobar la existencia de la ruta de acceso y los derechos de acceso adecuados a la ruta de acceso antes de cualquier uso para las operaciones de E/S de archivos.

Comportamiento de vínculo simbólico: si la ruta de acceso apunta a un vínculo simbólico, el nombre de la ruta de acceso temporal mantiene los vínculos simbólicos.

En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.

Tecnología Compatible
Protocolo Bloque de mensajes del servidor (SMB) 3.0
Conmutación por error transparente (TFO) de SMB 3.0
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO)
Sistema de archivos de Volumen compartido de clúster (CsvFS)
Sistema de archivos resistente a errores (ReFS)
 

Ejemplos

Para obtener un ejemplo, vea Crear y usar un archivo temporal.

Nota

El encabezado fileapi.h define GetTempPath como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
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 fileapi.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de administración de archivos

GetTempFileName

Vínculos simbólicos