Función NetWkstaUserGetInfo (lmwksta.h)
La función NetWkstaUserGetInfo devuelve información sobre el usuario que ha iniciado sesión actualmente. Se debe llamar a esta función en el contexto del usuario que ha iniciado sesión.
Sintaxis
NET_API_STATUS NET_API_FUNCTION NetWkstaUserGetInfo(
LMSTR reserved,
[in] DWORD level,
[out] LPBYTE *bufptr
);
Parámetros
reserved
Este parámetro debe establecerse en NULL.
[in] level
Especifica el nivel de información de los datos. Este parámetro puede ser uno de los valores siguientes.
Valor | Significado |
---|---|
|
Devuelve el nombre del usuario que ha iniciado sesión actualmente en la estación de trabajo. El parámetro bufptr apunta a una estructura WKSTA_USER_INFO_0 . |
|
Devuelve información sobre la estación de trabajo, incluido el nombre del usuario actual y los dominios a los que accede la estación de trabajo. El parámetro bufptr apunta a una estructura de WKSTA_USER_INFO_1 . |
|
Devuelve dominios explorados por la estación de trabajo. El parámetro bufptr apunta a una estructura WKSTA_USER_INFO_1101 . |
[out] bufptr
Puntero al búfer que recibe los datos. El formato de estos datos depende del valor del parámetro bufptr . El sistema asigna este búfer y debe liberarse mediante la función NetApiBufferFree . Para obtener más información, consulte Búferes de funciones de administración de red y longitudes de búfer de funciones de administración de red.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto se NERR_Success.
Si se produce un error en la función, el valor devuelto puede ser uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
El sistema se quedó sin recursos de memoria. La configuración del administrador de red es incorrecta o el programa se ejecuta en un sistema con memoria insuficiente. |
|
El parámetro level no es válido. |
|
Uno de los parámetros de función no es válido. |
Comentarios
La función NetWkstaUserGetInfo solo funciona localmente.
Ejemplos
En el ejemplo de código siguiente se muestra cómo recuperar información sobre el usuario que ha iniciado sesión actualmente mediante una llamada a la función NetWkstaUserGetInfo . El ejemplo llama a NetWkstaUserGetInfo, especificando el nivel de información 1 ( WKSTA_USER_INFO_1). Si la llamada se realiza correctamente, el ejemplo imprime información sobre el usuario que ha iniciado sesión. Por último, el ejemplo libera la memoria asignada para el búfer de información.
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")
#include <stdio.h>
#include <windows.h>
#include <lm.h>
int wmain(void)
{
DWORD dwLevel = 1;
LPWKSTA_USER_INFO_1 pBuf = NULL;
NET_API_STATUS nStatus;
//
// Call the NetWkstaUserGetInfo function;
// specify level 1.
//
nStatus = NetWkstaUserGetInfo(NULL,
dwLevel,
(LPBYTE *)&pBuf);
//
// If the call succeeds, print the information
// about the logged-on user.
//
if (nStatus == NERR_Success)
{
if (pBuf != NULL)
{
wprintf(L"\n\tUser: %s\n", pBuf->wkui1_username);
wprintf(L"\tDomain: %s\n", pBuf->wkui1_logon_domain);
wprintf(L"\tOther Domains: %s\n", pBuf->wkui1_oth_domains);
wprintf(L"\tLogon Server: %s\n", pBuf->wkui1_logon_server);
}
}
// Otherwise, print the system error.
//
else
fprintf(stderr, "A system error has occurred: %d\n", nStatus);
//
// Free the allocated memory.
//
if (pBuf != NULL)
NetApiBufferFree(pBuf);
return 0;
}
Requisitos
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 | lmwksta.h (include Lm.h) |
Library | Netapi32.lib |
Archivo DLL | Netapi32.dll |
Consulte también
Funciones de administración de red
Introducción a la administración de redes
Funciones de usuario de estación de trabajo y estación de trabajo