Fonction DrtOpen (drt.h)

La fonction DrtOpen crée une table de routage distribuée locale instance selon les critères spécifiés par la structure DRT_SETTINGS.

Syntaxe

HRESULT DrtOpen(
  [in]           const DRT_SETTINGS *pSettings,
  [in]           HANDLE             hEvent,
  [in, optional] const PVOID        pvContext,
  [out]          HDRT               *phDrt
);

Paramètres

[in] pSettings

Pointeur vers la structure DRT_SETTINGS qui spécifie les paramètres utilisés pour la création du instance DRT.

[in] hEvent

Gérez l’événement signalé lorsqu’un événement se produit.

[in, optional] pvContext

Données de contexte définies par l’utilisateur qui sont transmises à l’application via des événements.

[out] phDrt

Nouveau handle associé à la DRT. Il est utilisé dans toutes les opérations futures sur le instance DRT.

Valeur retournée

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

Code de retour Description
E_INVALIDARG
phDrt a lavaleur NULL.
DRT_E_INVALID_SETTINGS
pSettings a la valeur NULL ou la valeur de membre dwSize de DRT_SETTINGS n’est pas égale à la taille de l’objet DRT_SETTINGS .
DRT_E_INVALID_KEY_SIZE
cbKey n’est pas égal à 256 bits.
DRT_E_INVALID_MAX_ADDRESSES
Le membre ulMaxRoutingAddresses de DRT_SETTINGS spécifie moins de 1 ou plus de 20 comme nombre maximal d’adresses.
DRT_E_INVALID_TRANSPORT_PROVIDER
Le membre hTransport dans DRT_SETTINGS a la valeur NULL ou certains champs du transport ont la valeur NULL
DRT_E_INVALID_SECURITY_MODE
Le membre eSecurityMode de DRT_SETTINGS spécifie un mode de sécurité non valide.
DRT_E_INVALID_SECURITY_PROVIDER
Le membre pSecurityProvider de DRT_SETTINGS a la valeur NULL.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
Le membre pBootstrapProvider de DRT_SETTINGS a la valeur NULL ou certains champs du fournisseur d’amorçage ont la valeur NULL.
DRT_E_INVALID_INSTANCE_PREFIX
La taille du pwzDrtInstancePrefix spécifié dans DRT_SETTINGS est supérieure à la longueur maximale du préfixe (128).
E_OUTOFMEMORY
Le système ne peut pas allouer de mémoire pour cette opération.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
Le fournisseur de démarrage est déjà attaché.
DRT_E_SECURITYPROVIDER_IN_USE
Le fournisseur de sécurité est déjà attaché.
DRT_TRANSPORTPROVIDER_IN_USE
Le fournisseur de transport est déjà attaché.
DRT_E_INVALID_CERT_CHAIN
La chaîne de certification n’est pas valide.
DRT_E_CAPABILITY_MISMATCH
Le certificat local ne peut pas être NULL dans DRT_SECURE_MEMBERSHIP et DRT_SECURE_CONFIDENTIALPAYLOAD sécurité.
DRT_E_TRANSPORT_SHUTTING_DOWN
Le transport s’arrête.
DRT_E_TRANSPORT_ALREADY_BOUND
Le transport est déjà lié.
DRT_S_RETRY
Le fournisseur d’amorçage n’a pas pu localiser d’autres nœuds, mais peut réussir lors d’une deuxième tentative.
DRT_E_TRANSPORT_INVALID_ARGUMENT
Le paramètre du fournisseur de transport est NULL ou non valide.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
Le transport n’est pas attaché.
E_FAIL
Une erreur irrécupérable inattendue s’est produite.

Notes

Une fois DrtOpen appelé, la DRT commence la procédure de démarrage et passe à l’état DRT_ACTIVE ou DRT_ALONE , en fonction de la réussite de l’amorçage.

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_SETTINGS

DrtClose