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 de
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 se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Observaciones
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 sea 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 es así especificado por 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, vea Obtener 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
sysinfoapi.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |