DrtRegisterKey, fonction (drt.h)

La fonction DrtRegisterKey inscrit une clé dans la DRT.

Syntaxe

HRESULT DrtRegisterKey(
  [in]           HDRT                      hDrt,
  [in]           DRT_REGISTRATION          *pRegistration,
  [in, optional] PVOID                     pvKeyContext,
  [out]          HDRT_REGISTRATION_CONTEXT *phKeyRegistration
);

Paramètres

[in] hDrt

Pointeur vers un handle retourné par la fonction DrtOpen .

[in] pRegistration

Pointeur vers un handle vers la structure DRT_REGISTRATION .

[in, optional] pvKeyContext

Pointeur vers les données de contexte associées à la clé dans la DRT. Ces données sont transmises aux fonctions spécifiques à la clé du fournisseur de sécurité.

[out] phKeyRegistration

Pointeur vers un handle pour une clé qui a été inscrite.

Valeur retournée

Cette fonction retourne S_OK en cas de réussite. D’autres valeurs possibles sont les suivantes :

Code de retour Description
E_INVALIDARG
  • pRegistration a la valeur NULL
  • La valeur cb du membre appData de la structure DRT_REGISTRATION est trop grande (inférieure à 1).
  • La valeur cb du membre appData de la structure DRT_REGISTRATION est trop grande (plus de 5120).
  • La valeur pb du membre clé de la structure DRT_REGISTRATION est NULL.
  • phKeyRegistration a la valeur NULL
E_HANDLE
hDrt est un handle non valide ou phKeyRegistration est un handle non valide
DRT_E_INVALID_KEY_SIZE
La taille de la valeur cb du membre clé de la structure DRT_REGISTRATION n’est pas égale à 256 bits ou la valeur pbdu membre clé de la structure DRT_REGISTRATION est NULL..
DRT_E_FAULTED
Le cloud DRT est à l’état défectueux.
DRT_E_DUPLICATE_KEY
La clé est déjà inscrite.
DRT_E_INVALID_CERT_CHAIN
La chaîne de certification fournie n’est pas valide.
DRT_E_CAPABILITY_MISMATCH
Le fournisseur de certificats fourni n’est pas compatible avec AES.
DRT_E_INVALID_KEY
La clé fournie ne correspond pas à la clé générée.
DRT_E_TRANSPORT_NO_DEST_ADDRESSES
Adresse valide introuvable.
DRT_E_TRANSPORT_SHUTTING_DOWN
Le transport s’arrête.
DRT_E_INVALID_TRANSPORT_PROVIDER
Le fournisseur de transport a la valeur NULL.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
Le transport n’est pas attaché.
DRT_E_SECURITYPROVIDER_NOT_ATTACHED
Le fournisseur de sécurité n’est pas attaché.
DRT_E_TRANSPORT_NOT_BOUND
Le transport n’est actuellement pas lié.
E_OUTOFMEMORY
Le système est en mémoire insuffisante.
E_UNEXPECTED
  • GlobalControl.HandleTable a la valeur NULL.
  • Le cloud s’arrête.
  • La DRT s’arrête.
E_FAIL
Une erreur irrécupérable inattendue s’est produite.
 
 

Notes

Un nœud peut inscrire des clés dans l’état DRT_ACTIVE, DRT_ALONE ou DRT_NO_NETWORK . Toutefois, les clés inscrites dans les états DRT_ALONE et DRT_NO_NETWORK ne peuvent être reconnues par d’autres drts qu’après la transition du nœud local vers DRT_ACTIVE.

Pour mettre à jour une clé existante, une application doit d’abord annuler l’inscription de la clé auprès de DrtUnregisterKey avant d’appeler DrtRegisterKey pour inscrire la clé mise à jour.

Spécifications

   
Client minimal pris en charge Windows 7 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête drt.h
Bibliothèque Drt.lib
DLL Drt.dll

Voir aussi

DRT_REGISTRATION

DrtOpen

DrtUnregisterKey