FONCTION DRMCreateClientSession (msdrm.h)
[Le Kit de développement logiciel (SDK) AD RMS tirant parti des fonctionnalités exposées par
le client dans Msdrm.dll est disponible dans Windows Server 2008, Windows Vista, Windows Server 2008 R2, Windows 7, Windows Server 2012 et Windows 8. Il peut être modifié ou
non disponible dans les versions suivantes. Utilisez plutôt active Directory Rights Management Services SDK 2.1.
qui tire parti des fonctionnalités exposées par le client dans Msipc.dll.]
La fonction DRMCreateClientSession crée une session cliente, qui héberge des sessions de stockage de licences et est utilisée dans l’activation et d’autres appels de fonction.
Syntaxe
DRMEXPORT HRESULT UDAPICALL DRMCreateClientSession(
[in] DRMCALLBACK pfnCallback,
[in] UINT uCallbackVersion,
[in] PWSTR wszGroupIDProviderType,
[in, optional] PWSTR wszGroupID,
[out] DRMHSESSION *phClient
);
Paramètres
[in] pfnCallback
Pointeur vers une fonction de rappel définie par l’application qui recevra des messages de fonction asynchrone status en réponse à d’autres fonctions AD RMS, telles que DRMActivate. Le format de cette fonction de rappel est défini dans Le prototype de rappel. Ce paramètre ne peut pas être NULL.
[in] uCallbackVersion
Spécifie la version de la fonction de rappel. Actuellement, seule la version zéro est prise en charge.
[in] wszGroupIDProviderType
Pointeur vers une chaîne Unicode terminée par null qui spécifie le type d’authentification du certificat de compte de droits soumis (RAC). Il peut s’agir de l’une des valeurs suivantes.
DRM_DEFAULTGROUPIDTYPE_WINDOWSAUTH
Utilisez l’authentification Windows. Spécifiez également cette valeur pour un rac Services ADFS (ADFS).
DRM_DEFAULTGROUPIDTYPE_PASSPORT
Utilisez l’authentification Passport.
[in, optional] wszGroupID
Pointeur vers une chaîne Unicode terminée par null qui contient une adresse e-mail pour l’utilisateur au format someone@example.com. En règle générale, cette valeur existe déjà dans Active Directory (AD) et est le même ID que celui fourni dans les informations d’identification d’ouverture de session. Si ce n’est pas le même, les appels ultérieurs à DRMIsActivated et DRMEnumerateLicense échoueront. Pour plus d'informations, consultez la section Notes.
Définissez ce paramètre sur NULL si vous envisagez uniquement d’utiliser le handle de session client créé par cette fonction pour récupérer un emplacement de service en appelant DRMGetServiceLocation.
[out] phClient
Pointeur vers une valeur DRMHSESSION qui reçoit le handle de session client. Lorsque vous avez terminé d’utiliser la session cliente, fermez-la en passant ce handle à la fonction DRMCloseSession .
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. Les valeurs possibles incluent, sans s’y limiter, celles de la liste suivante. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Remarques
Si cette fonction réussit, le serveur AD RMS retourne un handle de session client qui est utilisé par DRMActivate pour créer un certificat de compte de droits (RAC) dans le magasin de licences pour la nouvelle session cliente. Le RAC est créé à l’aide des informations d’identification de l’utilisateur connecté. Si l’adresse e-mail spécifiée dans le paramètre wszGroupID ne correspond pas à celle spécifiée dans les informations d’identification, les fonctions telles que DRMIsActivated et DRMEnumerateLicense qui utilisent les informations associées à la session cliente pour rechercher le RAC dans le magasin de licences échouent.
Par exemple, supposons que l’utilisateur s’est connecté à l’aide de cat@example.com , mais que le paramètre wszGroupID est défini sur dog@example.com. Rac est créé pour cat@example.com. Toutefois, la fonction DRMEnumerateLicense recherche dans le magasin de licences un RAC qui contient dog@example.com et échoue.
Toutes les sessions de stockage de licences doivent être fermées avant de fermer la session cliente. Lorsque vous avez terminé d’utiliser la session cliente, fermez-la en passant le handle fourni par cette fonction à la fonction DRMCloseSession .
La fonction DRMCreateClientSession ne peut pas être appelée simultanément par différents processus s’exécutant en tant qu’utilisateurs différents sur le même ordinateur si un ou plusieurs de ces processus sont un processus de service. Un appel par un deuxième processus, par exemple, ne peut réussir qu’après la fermeture du handle de session client pour le premier processus.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | msdrm.h |
Bibliothèque | Msdrm.lib |
DLL | Msdrm.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour