DRT_BOOTSTRAP_PROVIDER-Struktur (drt.h)

Die DRT_BOOTSTRAP_PROVIDER-Struktur definiert die DRT-Schnittstelle, die von einem Bootstrapanbieter implementiert werden muss.

Hinweis Die DRT-Infrastruktur ruft die Methoden des Bootstrapanbieters nicht gleichzeitig auf.
 

Syntax

typedef struct drt_bootstrap_provider_tag {
  PVOID    pvContext;
  HRESULT( )(const PVOID pvContext) *Attach;
  VOID( )(const PVOID pvContext)    *Detach;
  HRESULT((const PVOID pvContext,BOOL fSplitDetect,ULONG timeout,ULONG cMaxResults,DRT_BOOTSTRAP_RESOLVE_CONTEXT *ResolveContext,BOOL *fFatalError) * )InitResolve;
  HRESULT()(const PVOID pvContext, const PVOID pvCallbackContext,DRT_BOOTSTRAP_RESOLVE_CALLBACK callback,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext,BOOL *fFatalError) * IssueResolve;
  VOID( )(const PVOID pvContext,DRT_BOOTSTRAP_RESOLVE_CONTEXT ResolveContext)    *EndResolve;
  HRESULT()(const PVOID pvContext, const SOCKET_ADDRESS_LIST *pAddressList) * Register;
  VOID( )(const PVOID pvContext)    *Unregister;
} DRT_BOOTSTRAP_PROVIDER, *PDRT_BOOTSTRAP_PROVIDER;

Member

pvContext

Zeiger auf Kontextdaten, die vom Bootstraplöser definiert werden. Beim Erstellen eines Bootstrap-Resolvers muss der Entwickler den Resolver mit den erforderlichen Informationen auffüllen. häufig tritt dies als "dieser" Zeiger auf. Dieser Kontext wird an alle Kontextparameter in den vom DRT_BOOTSTRAP_PROVIDER definierten Funktionen übergeben.

Attach

Erhöht die Anzahl der Verweise für den Bootstrap-Anbieter mit einer Reihe von DRTs.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

Detach

Verringert die Anzahl der Verweise für den Bootstrap-Anbieter mit einer Reihe von DRTs.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

InitResolve

Wird von der DRT-Infrastruktur aufgerufen, um Konfigurationsinformationen zu anstehenden Namensauflösungen zur Verfügung zu stellen.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

fSplitDetect

Gibt an, ob der Auflösungsvorgang für die Erkennung und Wiederherstellung von Netzwerkaufteilungen verwendet wird.

timeout

Gibt die maximale Zeit an, die eine Auflösung vor dem Timeout dauern sollte. Dieser Wert wird in Millisekunden dargestellt.

cMaxResults

Gibt die maximale Anzahl von Ergebnissen an, die während des Auflösungsvorgangs zurückgegeben werden sollen.

ResolveContext

Zeiger auf resolverspezifische Daten.

fFatalError

Wenn beim Bootstrapanbieter ein unwiederbringlicher Fehler auftritt, muss dieser Parameter auf TRUE festgelegt werden, wenn die Funktion abgeschlossen ist, damit der DRT in den fehlerhaften Zustand übergehen kann. Das HRESULT , das für die Höherschichtanwendung zum Debuggen zur Verfügung gestellt wird, wird im hr-Member der DRT_EVENT_DATA Struktur angezeigt, die dem Ereignis zugeordnet ist und den Übergang zum fehlerhaften Zustand signalisiert. Diese Bootstrapanbieterfunktion sollte nicht S_OK zurückgeben, wenn das fFatalError-Flag auf TRUE festgelegt wird.

IssueResolve

Wird von der DRT-Infrastruktur aufgerufen, um eine Auflösung auszugeben, um die Endpunkte von Knoten zu ermitteln, die bereits in der DRT-Cloud aktiv sind.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

pvCallbackContext

Zeiger auf die Kontextdaten, die an den vom nächsten Parameter definierten Rückruf zurückgegeben werden.

Rückruf

Ein BOOTSTRAP_RESOLVE_CALLBACK, der für jedes Ergebnis und DRT_E_NO_MORE zurückruft wird.

ResolveContext

Zeiger auf resolverspezifische Daten.

fFatalError

Wenn beim Bootstrapanbieter ein unwiederbringlicher Fehler auftritt, muss dieser Parameter auf TRUE festgelegt werden, wenn die Funktion abgeschlossen ist, damit der DRT in den fehlerhaften Zustand übergehen kann. Das HRESULT , das für die Höherschichtanwendung zum Debuggen zur Verfügung gestellt wird, wird im hr-Member der DRT_EVENT_DATA Struktur angezeigt, die dem Ereignis zugeordnet ist und den Übergang zum fehlerhaften Zustand signalisiert. Diese Bootstrapanbieterfunktion sollte nicht S_OK zurückgeben, wenn das fFatalError-Flag auf TRUE festgelegt wird.

EndResolve

Beendet die Auflösung eines Endpunkts.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

ResolveContext

Die BOOTSTRAP_RESOLVE_CONTEXT von der Resolve-Funktion des angegebenen Bootstrap-Anbieters empfangen.

Register

Registriert einen Endpunkt mit dem Bootstrappingmechanismus. Dieser Prozess ermöglicht es anderen Knoten, den Endpunkt über den Bootstraplöser zu finden.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

pAddressList

Zeiger auf die Liste der Adressen, die beim Bootstrappingmechanismus registriert werden sollen.

Unregister

Diese Funktion hebt die Registrierung eines Endpunkts mit dem Bootstrappingmechanismus auf. Daher können andere Knoten den lokalen Knoten nicht über den Bootstraplöser finden.

pvContext

Enthält den pvContext-Wert aus DRT_BOOTSTRAP_PROVIDER.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile drt.h