Compartir a través de


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

Consulte también

GetUserNameEx

LookupAccountName

Funciones de información del sistema