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

Vea también

GetCurrentDirectory

GetSystemDirectory

GetSystemWindowsDirectory

Funciones de información del sistema