Funzione DrtOpen (drt.h)

La funzione DrtOpen crea un'istanza della tabella di routing distribuita locale in base ai criteri specificati dalla struttura DRT_SETTINGS .

Sintassi

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

Parametri

[in] pSettings

Puntatore alla struttura DRT_SETTINGS che specifica le impostazioni utilizzate per la creazione dell'istanza DRT.

[in] hEvent

Handle per l'evento segnalato quando si verifica un evento.

[in, optional] pvContext

Dati di contesto definiti dall'utente che vengono passati all'applicazione tramite eventi.

[out] phDrt

Nuovo handle associato a DRT. Viene usato in tutte le operazioni future sull'istanza di DRT.

Valore restituito

Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono:

Codice restituito Descrizione
E_INVALIDARG
phDrt è NULL.
DRT_E_INVALID_SETTINGS
pSettings è NULL o il valore del membro dwSize di DRT_SETTINGS non è uguale alla dimensione dell'oggetto DRT_SETTINGS .
DRT_E_INVALID_KEY_SIZE
cbKey non è uguale a 256 bit.
DRT_E_INVALID_MAX_ADDRESSES
Il membro ulMaxRoutingAddresses di DRT_SETTINGS specifica meno di 1 o più di 20 come numero massimo di indirizzi.
DRT_E_INVALID_TRANSPORT_PROVIDER
Il membro hTransport in DRT_SETTINGS è NULL o alcuni campi del trasporto sono NULL
DRT_E_INVALID_SECURITY_MODE
Il membro eSecurityMode di DRT_SETTINGS specifica una modalità di sicurezza non valida.
DRT_E_INVALID_SECURITY_PROVIDER
Il membro pSecurityProvider di DRT_SETTINGS è NULL.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
Il membro pBootstrapProvider di DRT_SETTINGS è NULL o alcuni campi del provider bootstrap sono NULL.
DRT_E_INVALID_INSTANCE_PREFIX
Le dimensioni del prefisso pwzDrtInstancePrefix specificato in DRT_SETTINGS sono maggiori della lunghezza massima del prefisso (128).
E_OUTOFMEMORY
Il sistema non può allocare memoria per questa operazione.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
Il provider bootstrap è già collegato.
DRT_E_SECURITYPROVIDER_IN_USE
Il provider di sicurezza è già collegato.
DRT_TRANSPORTPROVIDER_IN_USE
Il provider di trasporto è già collegato.
DRT_E_INVALID_CERT_CHAIN
La catena di certificazione non è valida.
DRT_E_CAPABILITY_MISMATCH
Il certificato locale non può essere NULL in DRT_SECURE_MEMBERSHIP e DRT_SECURE_CONFIDENTIALPAYLOAD sicurezza.
DRT_E_TRANSPORT_SHUTTING_DOWN
Il trasporto viene arrestato.
DRT_E_TRANSPORT_ALREADY_BOUND
Il trasporto è già associato.
DRT_S_RETRY
Il provider bootstrap non è riuscito a individuare altri nodi, ma potrebbe avere esito positivo in un secondo tentativo.
DRT_E_TRANSPORT_INVALID_ARGUMENT
Il parametro del provider di trasporto è NULL o non valido.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
Il trasporto non è collegato.
E_FAIL
Si è verificato un errore irreversibile imprevisto.

Commenti

Dopo la chiamata a DrtOpen , la DRT avvierà la procedura di bootstrap e passerà allo stato DRT_ACTIVE o DRT_ALONE , a seconda dell'esito positivo del bootstrap.

Requisiti

   
Client minimo supportato Windows 7 Professional [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione drt.h
Libreria Drt.lib
DLL Drt.dll

Vedi anche

DRT_SETTINGS

DrtClose