Función SecLookupAccountName (ntifs.h)

SecLookupAccountName acepta una cuenta como entrada y recupera un identificador de seguridad (SID) para la cuenta y el nombre del dominio en el que se encontró la cuenta.

Sintaxis

KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountName(
  [in]               PUNICODE_STRING Name,
  [in, out]          PULONG          SidSize,
  [out]              PSID            Sid,
  [out]              PSID_NAME_USE   NameUse,
  [out]              PULONG          DomainSize,
  [in_out, optional] PUNICODE_STRING ReferencedDomain
);

Parámetros

[in] Name

Puntero a una cadena Unicode que especifica el nombre de la cuenta. Use una cadena completa en el formato domain_name\user_name para asegurarse de que SecLookupAccountName encuentra la cuenta en el dominio deseado.

[in, out] SidSize

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

[out] Sid

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

[out] NameUse

Puntero a un tipo enumerado SID_NAME_USE que recibe el tipo de la cuenta.

[out] DomainSize

Puntero a un ULONG que recibe el tamaño del parámetro ReferencedDomain . 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. Si el parámetro ReferencedDomain de entrada es NULL, este parámetro recibirá cero.

[in_out, optional] ReferencedDomain

Puntero a un búfer para el nombre del dominio donde se encuentra el nombre de la cuenta. Este parámetro es opcional y puede ser NULL. Para los equipos que no están unidos a un dominio, este búfer recibe el nombre del equipo.

Valor devuelto

SecLookupAccountName devuelve STATUS_SUCCESS si se ha realizado correctamente o uno de los siguientes códigos de error en caso de error.

Código devuelto Descripción
SEC_E_INTERNAL_ERROR Error interno al intentar conectarse a la autoridad del sistema local (LSA) o a la llamada de procedimiento local (LPC) al proveedor de seguridad.
STATUS_ACCESS_DENIED El identificador de proceso asociado al subproceso que se está ejecutando actualmente no coincide con el identificador de proceso actual.
STATUS_BUFFER_TOO_SMALL El tamaño del búfer para el sid o el parámetro ReferencedDomain era demasiado pequeño.
STATUS_INVALID_PARAMETER La longitud del parámetro Name superó la longitud permitida en un mensaje a la autoridad del sistema local.
STATUS_NONE_MAPPED No se encontró el parámetro Name .
STATUS_PROCESS_IS_TERMINATING Este proceso ha finalizado, por lo que no es posible establecer la conexión de llamada a procedimiento local (LPC).

Comentarios

SecLookupAccountName intenta encontrar un SID para el nombre especificado. La función comprueba las cuentas locales integradas y definidas de forma administrativa. 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, SecLookupAccountName puede buscar el nombre de cualquier cuenta en cualquier dominio del bosque.

SecLookupAccountName es equivalente a la función LookupAccountName de Win32.

SecLookupAccountName lo exporta el controlador ksecdd, que implementa esta función mediante servicios auxiliares en modo de usuario. En consecuencia, el uso de esta función dentro de los sistemas de archivos debe cumplir las reglas habituales para la comunicación con los servicios en modo de usuario. SecLookupAccountName no se puede usar durante la E/S del archivo de paginación.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library Ksecdd.lib
IRQL <= APC_LEVEL

Consulte también

SID

SID_NAME_USE

SecLookupAccountSid

SecLookupWellKnownSid