Función GetUserNameA (winbase.h)
Recupera el nombre del usuario asociado al subproceso actual.
Use la función GetUserNameEx para recuperar el nombre de usuario en un formato especificado. La interfaz IADsADSystemInfo proporciona información adicional.
Sintaxis
BOOL GetUserNameA(
[out] LPSTR lpBuffer,
[in, out] LPDWORD pcbBuffer
);
Parámetros
[out] lpBuffer
Puntero al búfer para recibir el nombre de inicio de sesión del usuario. Si este búfer no es lo suficientemente grande como para contener todo el nombre de usuario, se produce un error en la función. Un tamaño de búfer de caracteres (UNLEN + 1) contendrá el nombre de usuario de longitud máxima, incluido el carácter nulo de terminación. UNLEN se define en Lmcons.h.
[in, out] pcbBuffer
En la entrada, esta variable especifica el tamaño del búfer lpBuffer , en TCHAR. En la salida, la variable recibe el número de TCHAR copiados en el búfer, incluido el carácter nulo de terminación.
Si lpBuffer es demasiado pequeño, se produce un error en la función y GetLastError devuelve ERROR_INSUFFICIENT_BUFFER. Este parámetro recibe el tamaño de búfer necesario, incluido el carácter nulo de terminación.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero y la variable a la que apunta lpnSize contiene el número de TCHAR copiados en el búfer especificado por lpBuffer, incluido el carácter nulo de terminación.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Si el subproceso actual suplanta a otro cliente, la función GetUserName devuelve el nombre de usuario del cliente que el subproceso suplanta.
Si se llama a GetUserName desde un proceso que se ejecuta en la cuenta "NETWORK SERVICE", la cadena devuelta en lpBuffer puede ser diferente en función de la versión de Windows. En Windows XP, se devuelve la cadena "NETWORK SERVICE". En Windows Vista, se devuelve la cadena "<HOSTNAME>$".
Ejemplos
Para obtener un ejemplo, consulte Obtención de información del sistema.
Nota
El encabezado winbase.h define GetUserName 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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 | winbase.h (incluya Windows.h) |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |