Función GetTempPath2A (fileapi.h)

Recupera la ruta de acceso del directorio designado para los archivos temporales, en función de los privilegios del proceso de llamada.

Sintaxis

DWORD GetTempPath2A(
  [in]  DWORD BufferLength,
  [out] LPSTR Buffer
);

Parámetros

[in] BufferLength

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

[out] Buffer

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

Al llamar a esta función desde un proceso que se ejecuta como SYSTEM, devolverá la ruta de acceso C:\Windows\SystemTemp, que no es accesible para los procesos que no son del sistema. En el caso de los procesos que no son SYSTEM, GetTempPath2 se comportará igual que GetTempPath.

La función GetTempPath2 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 GetTempPath2 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 GetTempPath2 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

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible Windows Server Build 20348
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