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 de lpBuffer de , 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 se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Observaciones

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 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, vea Obtener 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 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 winbase.h (incluya Windows.h)
biblioteca de Advapi32.lib
DLL de Advapi32.dll

Consulte también

GetUserNameEx

lookupAccountName

funciones de información del sistema