struttura DRT_BOOTSTRAP_PROVIDER (drt.h)
La struttura DRT_BOOTSTRAP_PROVIDER definisce l'interfaccia DRT che deve essere implementata da un provider bootstrap.
Sintassi
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;
Members
pvContext
Puntatore ai dati di contesto definiti dal resolver bootstrap. Quando si crea un sistema di risoluzione bootstrap, lo sviluppatore deve popolare il sistema di risoluzione con le informazioni necessarie; spesso, questo si verifica come puntatore "questo". Questo contesto viene passato a tutti i parametri di contesto nelle funzioni definite dal DRT_BOOTSTRAP_PROVIDER.
Attach
Incrementa il numero di riferimenti per il provider Bootstrap con un set di drT.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
Detach
Decrementa il numero di riferimenti per il provider Bootstrap con un set di drT.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
InitResolve
Chiamato dall'infrastruttura DRT per fornire informazioni di configurazione sulle risoluzioni dei nomi future.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
fSplitDetect
Specifica se l'operazione di risoluzione viene utilizzata per il rilevamento e il ripristino di suddivisione della rete.
timeout
Specifica il tempo massimo necessario per la risoluzione prima del timeout. Questo valore è rappresentato in millisecondi.
cMaxResults
Specifica il numero massimo di risultati da restituire durante l'operazione di risoluzione.
ResolveContext
Puntatore a dati specifici del resolver.
fFatalError
Se il provider bootstrap rileva un errore irreversibile, questo parametro deve essere impostato su TRUE quando la funzione viene completata affinché DRT passi allo stato di errore. Il valore HRESULT reso disponibile per l'applicazione di livello superiore per il debug verrà visualizzato nel membro hr della struttura DRT_EVENT_DATA associata all'evento che segnala la transizione allo stato di errore. Questa funzione del provider bootstrap non deve restituire S_OK se si imposta il flag fFatalError su TRUE.
IssueResolve
Chiamato dall'infrastruttura DRT per eseguire una risoluzione per determinare gli endpoint dei nodi già attivi nel cloud DRT.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
pvCallbackContext
Puntatore ai dati di contesto passati al callback definito dal parametro successivo.
callback
Un BOOTSTRAP_RESOLVE_CALLBACK richiamato per ogni risultato e DRT_E_NO_MORE.
ResolveContext
Puntatore a dati specifici del resolver.
fFatalError
Se il provider bootstrap rileva un errore irreversibile, questo parametro deve essere impostato su TRUE quando la funzione viene completata affinché DRT passi allo stato di errore. Il valore HRESULT reso disponibile per l'applicazione di livello superiore per il debug verrà visualizzato nel membro hr della struttura DRT_EVENT_DATA associata all'evento che segnala la transizione allo stato di errore. Questa funzione del provider bootstrap non deve restituire S_OK se si imposta il flag fFatalError su TRUE.
EndResolve
Termina la risoluzione di un endpoint.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
ResolveContext
Il BOOTSTRAP_RESOLVE_CONTEXT ricevuto dalla funzione Resolve del provider bootstrap specificato.
Register
Registra un endpoint con il meccanismo di bootstrap. Questo processo consente ad altri nodi di trovare l'endpoint tramite il resolver bootstrap.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
pAddressList
Puntatore all'elenco di indirizzi da registrare con il meccanismo di bootstrap.
Unregister
Questa funzione annulla la registrazione di un endpoint con il meccanismo di bootstrap. Di conseguenza, altri nodi non saranno in grado di trovare il nodo locale tramite il resolver bootstrap.
pvContext
Contiene il valore pvContext di DRT_BOOTSTRAP_PROVIDER.
Requisiti
Client minimo supportato | Windows 7 Professional [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Intestazione | drt.h |