Función WNetGetUserA (winnetwk.h)
La función WNetGetUser recupera el nombre de usuario predeterminado actual o el nombre de usuario usado para establecer una conexión de red.
Sintaxis
DWORD WNetGetUserA(
[in] LPCSTR lpName,
[out] LPSTR lpUserName,
[in, out] LPDWORD lpnLength
);
Parámetros
[in] lpName
Puntero a una cadena terminada en null constante que especifica el nombre de un dispositivo local que se ha redirigido a un recurso de red o el nombre remoto de un recurso de red al que se ha realizado una conexión sin redirigir un dispositivo local.
Si este parámetro es NULL o la cadena vacía, el sistema devuelve el nombre del usuario actual para el proceso.
[out] lpUserName
Puntero a un búfer que recibe el nombre de usuario terminado en null.
[in, out] lpnLength
Puntero a una variable que especifica el tamaño del búfer lpUserName , en caracteres. Si se produce un error en la llamada porque el búfer no es lo suficientemente grande, esta variable contiene el tamaño de búfer necesario.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es NO_ERROR.
Si se produce un error en la función, el valor devuelto es un código de error del sistema, como uno de los valores siguientes.
Código devuelto | Descripción |
---|---|
|
El dispositivo especificado por el parámetro lpName no es un dispositivo redirigido ni un nombre de red conectado. |
|
Hay más entradas disponibles con llamadas posteriores. |
|
La red no está disponible. |
|
Error específico de la red. Para obtener una descripción del error, llame a la función WNetGetLastError . |
|
Ninguno de los proveedores reconoce el nombre local como tener una conexión. Sin embargo, la red no está disponible para al menos un proveedor al que pueda pertenecer la conexión. |
Comentarios
La función WNetGetUser no es consciente de los recursos compartidos en el sistema de archivos distribuido (DFS). Si el nombre especificado por el parámetro lpName es un dispositivo local redirigido a un recurso compartido DFS o a un recurso remoto que representa un recurso compartido DFS, se produce un error en la función WNetGetUser con ERROR_NOT_CONNECTED.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la función WNetGetUser para recuperar el nombre del usuario asociado a un dispositivo local redirigido o un recurso de red remota.
#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "mpr.lib")
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include <Winnetwk.h>
int wmain(int argc, wchar_t * argv[])
{
DWORD dwRetVal;
WCHAR UserName[MAX_PATH];
DWORD dwNameLength = MAX_PATH;
if (argc != 2) {
wprintf
(L"Usage: %s [Redirected-LocalDevice or Network-Resource-Remote-name\n",
argv[0]);
exit(1);
}
wprintf(L"Calling WNetGetUser with Network-Resource = %s\n", argv[1]);
dwRetVal = WNetGetUser(argv[1], UserName, &dwNameLength);
//
// If the call succeeds, print the user information.
//
if (dwRetVal == NO_ERROR) {
wprintf(L"WNetGetUser returned success\n");
wprintf(L"\tUsername=%s NameLength=%d\n", &UserName, dwNameLength);
exit(0);
}
else {
wprintf(L"WNetGetUser failed with error: %u\n", dwRetVal);
exit(1);
}
}
Nota
El encabezado winnetwk.h define WNetGetUser 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 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 | winnetwk.h |
Library | Mpr.lib |
Archivo DLL | Mpr.dll |
Consulte también
Recuperar el nombre de usuario
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de