DrtOpen-Funktion (drt.h)

Die DrtOpen-Funktion erstellt eine lokale verteilte Routingtabelle instance anhand der Kriterien, die von der DRT_SETTINGS-Struktur angegeben werden.

Syntax

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

Parameter

[in] pSettings

Zeiger auf die DRT_SETTINGS-Struktur, die die Einstellungen angibt, die für die Erstellung des DRT-instance verwendet werden.

[in] hEvent

Behandeln Sie das Ereignis, das beim Auftreten eines Ereignisses signalisiert wird.

[in, optional] pvContext

Benutzerdefinierte Kontextdaten, die über Ereignisse an die Anwendung übergeben werden.

[out] phDrt

Das neue Handle, das dem DRT zugeordnet ist. Dies wird in allen zukünftigen Vorgängen auf der DRT-instance verwendet.

Rückgabewert

Diese Funktion gibt bei Erfolg S_OK zurück. Weitere mögliche Werte sind:

Rückgabecode Beschreibung
E_INVALIDARG
phDrt ist NULL.
DRT_E_INVALID_SETTINGS
pSettings ist NULL oder der dwSize-Memberwert von DRT_SETTINGS entspricht nicht der Größe des DRT_SETTINGS-Objekts .
DRT_E_INVALID_KEY_SIZE
cbKey entspricht nicht 256 Bits.
DRT_E_INVALID_MAX_ADDRESSES
Das ulMaxRoutingAddresses-Element von DRT_SETTINGS gibt als maximale Anzahl von Adressen weniger als 1 oder mehr als 20 an.
DRT_E_INVALID_TRANSPORT_PROVIDER
Das hTransport-Element in DRT_SETTINGS ist NULL, oder einige Felder des Transports sind NULL.
DRT_E_INVALID_SECURITY_MODE
Das eSecurityMode-Element von DRT_SETTINGS gibt einen ungültigen Sicherheitsmodus an.
DRT_E_INVALID_SECURITY_PROVIDER
Das pSecurityProvider-Element von DRT_SETTINGS ist NULL.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
Das pBootstrapProvider-Element von DRT_SETTINGS ist NULL , oder einige Felder des Bootstrap-Anbieters sind NULL.
DRT_E_INVALID_INSTANCE_PREFIX
Die größe des in DRT_SETTINGS angegebenen pwzDrtInstancePrefix ist größer als die maximale Präfixlänge (128).
E_OUTOFMEMORY
Das System kann für diesen Vorgang keinen Arbeitsspeicher zuweisen.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
Der Bootstrap-Anbieter ist bereits angefügt.
DRT_E_SECURITYPROVIDER_IN_USE
Der Sicherheitsanbieter ist bereits angefügt.
DRT_TRANSPORTPROVIDER_IN_USE
Der Transportanbieter ist bereits angefügt.
DRT_E_INVALID_CERT_CHAIN
Die Zertifizierungskette ist ungültig.
DRT_E_CAPABILITY_MISMATCH
Das lokale Zertifikat kann in DRT_SECURE_MEMBERSHIP und DRT_SECURE_CONFIDENTIALPAYLOAD Sicherheit nicht NULL sein.
DRT_E_TRANSPORT_SHUTTING_DOWN
Der Transport wird heruntergefahren.
DRT_E_TRANSPORT_ALREADY_BOUND
Der Transport ist bereits gebunden.
DRT_S_RETRY
Der Bootstrap-Anbieter konnte andere Knoten nicht finden, kann aber bei einem zweiten Versuch erfolgreich sein.
DRT_E_TRANSPORT_INVALID_ARGUMENT
Der Transportanbieterparameter ist NULL oder ungültig.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
Der Transport ist nicht angefügt.
E_FAIL
Ein unerwarteter schwerwiegender Fehler ist aufgetreten.

Hinweise

Nachdem DrtOpen aufgerufen wurde, beginnt der DRT die Bootstrapping-Prozedur und wechselt je nach Erfolg des Bootstraps in den DRT_ACTIVE - oder DRT_ALONE Zustand.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile drt.h
Bibliothek Drt.lib
DLL Drt.dll

Weitere Informationen

DRT_SETTINGS

DrtClose