Función SecLookupAccountSid (ntifs.h)
SecLookupAccountSid acepta un identificador de seguridad (SID) como entrada. Recupera el nombre de la cuenta de este SID y el nombre del primer dominio en el que se encuentra este SID.
Sintaxis
KSECDDDECLSPEC NTSTATUS SEC_ENTRY SecLookupAccountSid(
[in] PSID Sid,
[out] PULONG NameSize,
[in, out] PUNICODE_STRING NameBuffer,
[out] PULONG DomainSize,
[out, optional] PUNICODE_STRING DomainBuffer,
[out] PSID_NAME_USE NameUse
);
Parámetros
[in] Sid
Puntero al SID que se va a buscar.
[out] NameSize
Puntero a una variable que especifica el tamaño de NameBuffer. En la entrada, este valor especifica el tamaño en bytes de la entrada NameBuffer. 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 se ejecuta correctamente, esta variable contiene el tamaño de NameBuffer devuelto.
[in, out] NameBuffer
Puntero a un búfer que recibe el nombre de la cuenta asociada al Sid. Si este parámetro es NULL, NameSize será cero.
[out] DomainSize
Puntero a un ULONG que especifica el tamaño del parámetro DomainBuffer . 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 DomainBuffer es NULL, este parámetro se establecerá en cero.
[out, optional] DomainBuffer
Puntero a un búfer que recibe el nombre del primer dominio en el que se encuentra este SID.
[out] NameUse
Puntero a un tipo enumerado SID_NAME_USE que recibe el tipo de la cuenta.
Valor devuelto
SecLookupAccountSid 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 nameBuffer 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 (LSA). |
STATUS_NO_MEMORY | No era posible asignar memoria suficiente para un búfer interno temporal usado por esta función. |
STATUS_NONE_MAPPED | No se encontró el parámetro Sid . |
STATUS_PROCESS_IS_TERMINATING | Este proceso ha finalizado, por lo que no es posible establecer una conexión de llamada a procedimiento local (LPC). |
Comentarios
SecLookupAccountSid intenta buscar un nombre para el SID especificado comprobando primero una lista de SID conocidos. Si el SID proporcionado no corresponde a un SID conocido, la función comprueba las cuentas locales integradas y definidas de forma administrativa. A continuación, la función comprueba el dominio principal. Los identificadores de seguridad no reconocidos por el dominio principal se comprueban con los dominios de confianza que corresponden a sus prefijos de SID.
Si la función no encuentra un nombre de cuenta para el SID, se produce un error en SecLookupAccountSid . Esto puede ocurrir si un tiempo de espera de red impide que la función encuentre el nombre. También se produce para los SID que no tienen ningún nombre de cuenta correspondiente, como un SID de inicio de sesión que identifica una sesión de inicio de sesión.
Además de buscar SID para cuentas locales, cuentas de dominio locales y cuentas de dominio de confianza explícita, SecLookupAccountSid puede buscar SID para cualquier cuenta de cualquier dominio del bosque, incluidos los SID que aparecen solo en el campo SIDhistory de una cuenta del bosque. El campo SIDhistory almacena antiguos SID de una cuenta que se ha movido de otro dominio. Para buscar un SID, SecLookupAccountSid consulta el catálogo global del bosque.
SecLookupAccountSid es equivalente a la función LookupAccountSid de Win32.
SecLookupAccountSid 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. No se puede usar SecLookupAccountSid 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 |