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:
- Ruta de acceso especificada por la variable de entorno TMP.
- Ruta de acceso especificada por la variable de entorno TEMP.
- Ruta de acceso especificada por la variable de entorno USERPROFILE.
- 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 | Sí |
Conmutación por error transparente (TFO) de SMB 3.0 | Sí |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | Sí |
Sistema de archivos de volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente (ReFS) | Sí |
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 |