Método IAzApplication::InitializeClientContextFromStringSid (azroles.h)
El método InitializeClientContextFromStringSid obtiene un puntero de objeto IAzClientContext del identificador de seguridad (SID) especificado en formato de texto.
Sintaxis
HRESULT InitializeClientContextFromStringSid(
[in] BSTR SidString,
[in] LONG lOptions,
[in, optional] VARIANT varReserved,
[out] IAzClientContext **ppClientContext
);
Parámetros
[in] SidString
Cadena que contiene el formato de texto del SID de la entidad de seguridad. Debe ser un SID de cadena válido que la función ConvertStringSidToSid pueda convertir.
[in] lOptions
Opciones para la creación del contexto.
Si se especifica AZ_CLIENT_CONTEXT_SKIP_GROUP, el SID especificado en el parámetro SidString no es necesariamente una cuenta de usuario válida. El SID se usará para crear el contexto sin validación. El contexto creado se marcará como creado a partir de un SID, la cadena SID se almacenará en el campo nombre de cliente y el campo de nombre de dominio estará vacío. Los grupos de tokens no se usarán en la creación del contexto de cliente. Los grupos de consultas ligeros del Protocolo de acceso a directorios (LDAP) no se admiten cuando se especifica AZ_CLIENT_CONTEXT_SKIP_GROUP. Dado que la cuenta no se valida en Active Directory, las propiedades de información de usuario del contexto de cliente, como UserSamCompat, no serán válidas y, cuando se tenga acceso, devolverán ERROR_INVALID_HANDLE. La propiedad RoleForAccessCheck y el método AccessCheck de IAzClientContext todavía se pueden usar para especificar un rol para la comprobación de acceso. El método GetRoles de IAzClientContext todavía se puede usar para enumerar los roles asignados al contexto dentro de un ámbito específico.
Si no se especifica AZ_CLIENT_CONTEXT_SKIP_GROUP, el SID debe representar una cuenta de usuario válida.
[in, optional] varReserved
Reservado para uso futuro. Este parámetro puede establecerse con uno de los siguientes valores:
- varReserved.vt == VT_ERROR y varReserved.scode == DISP_E_PARAMNOTFOUND
- varReserved.vt == VT_EMPTY
- varReserved.vt == VT_NULL
- varReserved.vt == VT_I4 y varReserved.lVal == 0
- varReserved.vt == VT_I2 y varReserved.iVal == 0
[out] ppClientContext
Puntero a un puntero al objeto IAzClientContext devuelto.
Valor devuelto
Si la función se realiza correctamente, la función devuelve S_OK.
Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
Comentarios
Si es posible, llame a la función InitializeClientContextFromToken en lugar de InitializeClientContextFromStringSid. InitializeClientContextFromStringSid intenta recuperar la información disponible en un token de inicio de sesión con el cliente que realmente ha iniciado sesión. Un token de inicio de sesión real proporciona más información, como el tipo de inicio de sesión y las propiedades de inicio de sesión, y refleja el comportamiento del paquete de autenticación usado para el inicio de sesión. El contexto de cliente creado por InitializeClientContextFromToken usa un token de inicio de sesión y el contexto de cliente resultante es más completo y preciso que un contexto de cliente creado por InitializeClientContextFromStringSid.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | azroles.h |
Library | Azroles.lib |
Archivo DLL | Azroles.dll |
Redistribuible | Paquete de herramientas de administración de Windows Server 2003 en Windows XP |