Compartir a través de


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 ejecuta 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 se produce un error en la función, 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).

Observaciones

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.

En el caso de los procesos que no son del sistema, 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. 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 formato correcto que especifica la ruta de acceso completa basada en el orden de búsqueda de la variable de entorno tal 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 de las operaciones de E/S de archivos.

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

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

Tecnología Soportado
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 (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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Compilación 22000 de Windows 11
servidor mínimo admitido Windows Server Build 20348
encabezado de fileapi.h (incluya Windows.h)
biblioteca de Kernel32.lib
DLL de Kernel32.dll

Consulte también

funciones de administración de archivos

GetTempFileName

vínculos simbólicos