Méthode IAzApplication::InitializeClientContextFromStringSid (azroles.h)
La méthode InitializeClientContextFromStringSid obtient un pointeur d’objet IAzClientContext à partir de l’identificateur de sécurité (SID) spécifié sous forme de texte.
Syntaxe
HRESULT InitializeClientContextFromStringSid(
[in] BSTR SidString,
[in] LONG lOptions,
[in, optional] VARIANT varReserved,
[out] IAzClientContext **ppClientContext
);
Paramètres
[in] SidString
Chaîne qui contient la forme texte du SID du principal de sécurité. Il doit s’agir d’un SID de chaîne valide qui peut être converti par la fonction ConvertStringSidToSid .
[in] lOptions
Options pour la création du contexte.
Si AZ_CLIENT_CONTEXT_SKIP_GROUP est spécifié, le SID spécifié dans le paramètre SidString n’est pas nécessairement un compte d’utilisateur valide. Le SID sera utilisé pour créer le contexte sans validation. Le contexte créé est marqué comme ayant été créé à partir d’un SID, la chaîne SID est stockée dans le champ nom du client et le champ nom de domaine est vide. Les groupes de jetons ne seront pas utilisés dans la création du contexte client. Les groupes de requêtes LDAP (Lightweight Directory Access Protocol) ne sont pas pris en charge lorsque AZ_CLIENT_CONTEXT_SKIP_GROUP est spécifié. Étant donné que le compte n’est pas validé dans Active Directory, les propriétés d’informations utilisateur du contexte client, telles que UserSamCompat, ne sont pas valides et, lorsqu’elles sont consultées, elles retournent ERROR_INVALID_HANDLE. La propriété RoleForAccessCheck et la méthode AccessCheck de IAzClientContext peuvent toujours être utilisées pour spécifier un rôle pour la vérification d’accès. La méthode GetRoles de IAzClientContext peut toujours être utilisée pour énumérer les rôles attribués au contexte dans une étendue spécifique.
Si AZ_CLIENT_CONTEXT_SKIP_GROUP n’est pas spécifié, le SID doit représenter un compte d’utilisateur valide.
[in, optional] varReserved
Réservé pour un usage futur. Ce paramètre peut être l’une des valeurs suivantes :
- varReserved.vt == VT_ERROR et varReserved.scode == DISP_E_PARAMNOTFOUND
- varReserved.vt == VT_EMPTY
- varReserved.vt == VT_NULL
- varReserved.vt == VT_I4 et varReserved.lVal == 0
- varReserved.vt == VT_I2 et varReserved.iVal == 0
[out] ppClientContext
Pointeur vers un pointeur vers l’objet IAzClientContext retourné.
Valeur retournée
Si la fonction réussit, la fonction retourne S_OK.
Si la fonction échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Remarques
Si possible, appelez la fonction InitializeClientContextFromToken au lieu de InitializeClientContextFromStringSid. InitializeClientContextFromStringSid tente de récupérer les informations disponibles dans un jeton d’ouverture de session si le client s’est connecté. Un jeton d’ouverture de session réel fournit des informations supplémentaires, telles que le type d’ouverture de session et les propriétés d’ouverture de session, et reflète le comportement du package d’authentification utilisé pour l’ouverture de session. Le contexte client créé par InitializeClientContextFromToken utilise un jeton d’ouverture de session, et le contexte client résultant est plus complet et plus précis qu’un contexte client créé par InitializeClientContextFromStringSid.
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | azroles.h |
Bibliothèque | Azroles.lib |
DLL | Azroles.dll |
Composant redistribuable | Pack outils d’administration Windows Server 2003 sur Windows XP |