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

Consulte también

SID

SID_NAME_USE

SecLookupAccountName

SecLookupWellKnownSid