Compartir a través de


Función LookupAccountNameA (winbase.h)

La función LookupAccountName acepta el nombre de un sistema y una cuenta como entrada. Recupera un identificador de seguridad (SID) para la cuenta y el nombre del dominio en el que se encontró la cuenta.

La función LsaLookupNames también puede recuperar cuentas de equipo.

Sintaxis

BOOL LookupAccountNameA(
  [in, optional]  LPCSTR        lpSystemName,
  [in]            LPCSTR        lpAccountName,
  [out, optional] PSID          Sid,
  [in, out]       LPDWORD       cbSid,
  [out, optional] LPSTR         ReferencedDomainName,
  [in, out]       LPDWORD       cchReferencedDomainName,
  [out]           PSID_NAME_USE peUse
);

Parámetros

[in, optional] lpSystemName

Puntero a una cadena de caracteres terminada en null que especifica el nombre del sistema. Esta cadena puede ser el nombre de un equipo remoto. Si esta cadena es NULL, la traducción del nombre de cuenta comienza en el sistema local. Si el nombre no se puede resolver en el sistema local, esta función intentará resolver el nombre mediante controladores de dominio de confianza para el sistema local. Por lo general, especifique un valor para lpSystemName solo cuando la cuenta esté en un dominio que no sea de confianza y se conozca el nombre de un equipo de ese dominio.

[in] lpAccountName

Puntero a una cadena terminada en null que especifica el nombre de la cuenta.

Use una cadena completa en el formato domain_name\user_name para asegurarse de que LookupAccountName encuentra la cuenta en el dominio deseado.

[out, optional] Sid

Puntero a un búfer que recibe la estructura de SID que corresponde al nombre de cuenta al que apunta el parámetro lpAccountName . Si este parámetro es NULL, cbSid debe ser cero.

[in, out] cbSid

Puntero a una variable. En la entrada, este valor especifica el tamaño, en bytes, del búfer sid . Si se produce un error en la función porque el búfer es demasiado pequeño o si cbSid es cero, esta variable recibe el tamaño de búfer necesario.

[out, optional] ReferencedDomainName

Puntero a un búfer que recibe el nombre del dominio donde se encuentra el nombre de la cuenta. Para los equipos que no están unidos a un dominio, este búfer recibe el nombre del equipo. Si este parámetro es NULL, la función devuelve el tamaño de búfer necesario.

[in, out] cchReferencedDomainName

Puntero a una variable. En la entrada, este valor especifica el tamaño, en TCHARs, del búfer ReferencedDomainName . Si se produce un error en la función porque el búfer es demasiado pequeño, esta variable recibe el tamaño de búfer necesario, incluido el carácter nulo de terminación. Si el parámetro ReferencedDomainName es NULL, este parámetro debe ser cero.

[out] peUse

Puntero a un tipo enumerado SID_NAME_USE que indica el tipo de la cuenta cuando la función devuelve.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero.

Si se produce un error en la función, devuelve cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

La función LookupAccountName intenta buscar un SID para el nombre especificado comprobando primero una lista de SID conocidos. Si el nombre no corresponde a un SID conocido, la función comprueba las cuentas locales integradas y definidas administrativamente. A continuación, la función comprueba el dominio principal. Si no se encuentra el nombre, se comprueban los dominios de confianza.

Use nombres de cuenta completos (por ejemplo, domain_name\user_name) en lugar de nombres aislados (por ejemplo, user_name). Los nombres completos no son ambiguos y proporcionan un mejor rendimiento cuando se realiza la búsqueda. Esta función también admite nombres DNS completos (por ejemplo, example.example.com\user_name) y nombres principales de usuario (UPN) (por ejemplo, someone@example.com).

Además de buscar cuentas locales, cuentas de dominio locales y cuentas de dominio de confianza explícitamente, LookupAccountName puede buscar el nombre de cualquier cuenta en cualquier dominio del bosque.

Nota

El encabezado winbase.h define LookupAccountName 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 XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado winbase.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

Información general del control de acceso

Funciones básicas de Access Control

EqualPrefixSid

GetUserName

LookupAccountSid

LsaLookupNames2

SID

SID_NAME_USE