Función GetWindowsDirectoryA (sysinfoapi.h)
Recupera la ruta de acceso del directorio de Windows.
Esta función se proporciona principalmente para la compatibilidad con las aplicaciones heredadas. Las nuevas aplicaciones deben almacenar código en la carpeta Archivos de programa y los datos persistentes en la carpeta Datos de aplicación del perfil del usuario. Para obtener más información, vea ShGetFolderPath.
Sintaxis
UINT GetWindowsDirectoryA(
[out] LPSTR lpBuffer,
[in] UINT uSize
);
Parámetros
[out] lpBuffer
Puntero a un búfer que recibe la ruta de acceso. Esta ruta de acceso no termina con una barra diagonal inversa a menos que el directorio de Windows sea el directorio raíz. Por ejemplo, si el directorio de Windows se denomina Windows en la unidad C, la ruta de acceso del directorio de Windows recuperado por esta función es C:\Windows. Si el sistema se instaló en el directorio raíz de la unidad C, la ruta de acceso recuperada es C:.
[in] uSize
Tamaño máximo del búfer especificado por el parámetro lpBuffer , en TCHAR. Este valor debe establecerse en MAX_PATH.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es la longitud de la cadena copiada en el búfer, en TCHAR, sin incluir el carácter nulo de terminación.
Si la longitud es mayor que el tamaño del búfer, el valor devuelto es el tamaño 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.
Comentarios
El directorio de Windows es el directorio donde algunas aplicaciones heredadas almacenan los archivos de inicialización y ayuda. Las nuevas aplicaciones no deben almacenar archivos en el directorio de Windows; en su lugar, deben almacenar datos en todo el sistema en el directorio de instalación de la aplicación y datos específicos del usuario en el perfil del usuario.
Si el usuario ejecuta una versión compartida del sistema, se garantiza que el directorio de Windows es privado para cada usuario.
Si una aplicación crea otros archivos que desea almacenar por usuario, debe colocarlos en el directorio especificado por la variable de entorno HOMEPATH. Este directorio será diferente para cada usuario, si así lo especifica un administrador, a través de la herramienta administrativa Administrador de usuarios. HOMEPATH siempre especifica el directorio principal del usuario, que se garantiza que es privado para cada usuario o un directorio predeterminado (por ejemplo, C:\USERS\DEFAULT) donde el usuario tendrá todo el acceso.
Terminal Services: Si la aplicación se ejecuta en un entorno de Terminal Services, cada usuario tiene un directorio privado de Windows. También hay un directorio compartido de Windows para el sistema. Si la aplicación es compatible con Terminal-Services (tiene la marca IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE establecida en el encabezado de imagen), esta función devuelve la ruta de acceso del directorio de Windows del sistema, igual que la función GetSystemWindowsDirectory . De lo contrario, recupera la ruta de acceso del directorio privado de Windows para el usuario.
Ejemplos
Para obtener un ejemplo, consulte Obtención de información del sistema.
Nota
El encabezado sysinfoapi.h define GetWindowsDirectory 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 | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | sysinfoapi.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |