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 |