Función GetTempFileNameA (fileapi.h)
Crea un nombre para un archivo temporal. Si se genera un nombre de archivo único, se crea un archivo vacío y se libera el identificador para él; De lo contrario, solo se genera un nombre de archivo.
Sintaxis
UINT GetTempFileNameA(
[in] LPCSTR lpPathName,
[in] LPCSTR lpPrefixString,
[in] UINT uUnique,
[out] LPSTR lpTempFileName
);
Parámetros
[in] lpPathName
Ruta de acceso del directorio para el nombre de archivo. Las aplicaciones suelen especificar un punto (.) para el directorio actual o el resultado de la función GetTempPath2. La cadena no puede tener más de MAX_PATH–14 caracteres o se producirá un error en el GetTempFileName. Si este parámetro es NULL, se produce un error en la función.
[in] lpPrefixString
Cadena de prefijo terminada en null. La función usa hasta los tres primeros caracteres de esta cadena como prefijo del nombre de archivo. Esta cadena debe constar de caracteres en el juego de caracteres definido por EL OEM.
[in] uUnique
Entero sin signo que se va a usar para crear el nombre de archivo temporal. Para obtener más información, vea Comentarios.
Si uUnique es cero, la función intenta formar un nombre de archivo único mediante la hora actual del sistema. Si el archivo ya existe, el número aumenta en uno y las funciones comprueban si este archivo ya existe. Esto continúa hasta que se encuentra un nombre de archivo único; la función crea un archivo por ese nombre y lo cierra. Tenga en cuenta que la función no intenta comprobar la unicidad del nombre de archivo cuando uUnique es distinto de cero.
[out] lpTempFileName
Puntero al búfer que recibe el nombre de archivo temporal. Este búfer debe ser MAX_PATH caracteres para acomodar la ruta de acceso más el carácter nulo de terminación.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto especifica el valor numérico único usado en el nombre de archivo temporal. Si el parámetro uUnique es distinto de cero, el valor devuelto especifica ese mismo número.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
A continuación se muestra un valor devuelto posible.
Valor devuelto | Descripción |
---|---|
|
La longitud de la cadena a la que apunta el parámetro lpPathName es superior a MAX_PATH–14 caracteres. |
Observaciones
La función getTempFileName
<ruta de acceso>\<><uuuu>. TMP
En la tabla siguiente se describe la sintaxis del nombre de archivo.
Componente | Significado |
---|---|
<ruta de acceso> | Ruta de acceso especificada por el parámetro lpPathName |
< > previo | Primeras tres letras de la cadena de lpPrefixString |
<uuuu> | Valor hexadecimal de uUnique |
Si uUnique es cero, GetTempFileName crea un archivo vacío y lo cierra. Si uUnique no es cero, debe crear el archivo usted mismo. Solo se crea un nombre de archivo, ya que getTempFileName no puede garantizar que el nombre de archivo sea único.
Solo se usan los 16 bits inferiores del parámetro uUnique. Esto limita
Debido al algoritmo usado para generar nombres de archivo, GetTempFileName puede funcionar mal al crear un gran número de archivos con el mismo prefijo. En tales casos, se recomienda crear nombres de archivo únicos basados en GUIDs.
Los archivos temporales cuyos nombres se han creado por esta función no se eliminan automáticamente. Para eliminar estos archivos, llame a DeleteFile.
Para evitar problemas resultantes al convertir una cadena ANSI, una aplicación debe llamar a la función CreateFile
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 GetTempFileName 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 | Windows XP [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
fileapi.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |
Consulte también
funciones de administración de archivos
archivos de nomenclatura, rutas de acceso y espacios de nombres