Función LsaLookupSids (ntsecapi.h)
[LsaLookupSids está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use LsaLookupSids2.]
La función LsaLookupSids busca los nombres que corresponden a una matriz de identificadores de seguridad (SID). Si LsaLookupSids no encuentra un nombre que corresponde a un SID, la función devuelve el SID en formato de carácter.
Sintaxis
NTSTATUS LsaLookupSids(
[in] LSA_HANDLE PolicyHandle,
[in] ULONG Count,
[in] PSID *Sids,
[out] PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[out] PLSA_TRANSLATED_NAME *Names
);
Parámetros
[in] PolicyHandle
Identificador de un objeto Policy . Este identificador debe tener el derecho de acceso POLICY_LOOKUP_NAMES. Para obtener más información, vea Apertura de un identificador de objeto de directiva.
[in] Count
Especifica el número de SID en la matriz Sids . También es el número de entradas devueltas en la matriz Names . Este valor debe ser menor o igual que 20480.
[in] Sids
Puntero a una matriz de punteros SID que se van a buscar. Los SID pueden ser SID conocidos, siD de usuario, de grupo o de cuenta de grupo local, o siD de dominio.
[out] ReferencedDomains
Recibe un puntero a un puntero a una estructura de LSA_REFERENCED_DOMAIN_LIST . El miembro Domains de esta estructura es una matriz que contiene una entrada para cada dominio en el que se encontró un SID. La entrada de cada dominio contiene el SID y el nombre plano del dominio. En el caso de los dominios de Windows, el nombre plano es el nombre netBIOS. En el caso de los vínculos con dominios que no son de Windows, el nombre plano es el nombre de identificación de ese dominio o es NULL.
Cuando ya no necesite la información, pase el puntero devuelto a LsaFreeMemory. Esta memoria debe liberarse incluso cuando se produce un error en la función con los códigos de error STATUS_NONE_MAPPED o STATUS_SOME_NOT_MAPPED
[out] Names
Recibe un puntero a una matriz de estructuras de LSA_TRANSLATED_NAME . Cada entrada de la matriz Names contiene la información de nombre de la entrada correspondiente en la matriz Sids . En el caso de los SID de cuenta, el miembro Name de cada estructura contiene el nombre aislado de la cuenta. En el caso de los SID de dominio, el miembro Name no es válido.
El miembro DomainIndex de cada entrada de la matriz Names es el índice de una entrada de la matriz Domains devuelta en el parámetro ReferencedDomains . El índice identifica la matriz Domains del dominio en el que se encontró el SID.
Cuando ya no necesite la información, pase el puntero devuelto a LsaFreeMemory. Esta memoria debe liberarse incluso cuando se produce un error en la función con los códigos de error STATUS_NONE_MAPPED o STATUS_SOME_NOT_MAPPED
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es uno de los siguientes valores NTSTATUS .
Código devuelto | Descripción |
---|---|
|
Algunos de los SID no se pudieron traducir. Se trata de un valor devuelto de nivel informativo. |
|
Todos los SID se encontraron y se traduciron correctamente. |
Si se produce un error en la función, el valor devuelto es un código NTSTATUS , que puede ser uno de los siguientes valores o uno de los valores devueltos de la función de directiva LSA.
Código devuelto | Descripción |
---|---|
|
Ninguno de los SID se traducía. Se trata de un valor devuelto de nivel de error. |
|
El parámetro de matriz Sids era demasiado grande. |
Puede usar la función LsaNtStatusToWinError para convertir el código NTSTATUS en un código de error de Windows.
Comentarios
En el caso de los SID de cuenta, la cadena devuelta en el miembro Name es el nombre aislado de la cuenta (por ejemplo, user_name). Si necesita el nombre compuesto de la cuenta (por ejemplo, Acctg\user_name), obtenga el nombre de dominio del búfer ReferencedDomains y anexe una barra diagonal inversa y el nombre aislado.
Si la función LsaLookupSids no puede traducir un SID, la función usa el siguiente algoritmo:
- Si se conoce el dominio del SID, el búfer ReferencedDomains contiene una entrada para el dominio y la cadena devuelta en el parámetro Names es una representación Unicode del identificador relativo (RID) de la cuenta del SID.
- Si no se conoce el dominio del SID, la cadena devuelta en el parámetro Names es una representación Unicode de todo el SID y no hay ningún registro de dominio para este SID en el búfer ReferencedDomains .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ntsecapi.h |
Library | Advapi32.lib |
Archivo DLL | Advapi32.dll |