Función DrtOpen (drt.h)

La función DrtOpen crea una instancia local de tabla de enrutamiento distribuido en función de los criterios especificados por la estructura de DRT_SETTINGS .

Sintaxis

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

Parámetros

[in] pSettings

Puntero a la estructura DRT_SETTINGS que especifica la configuración utilizada para la creación de la instancia de DRT.

[in] hEvent

Identificador del evento señalado cuando se produce un evento.

[in, optional] pvContext

Datos de contexto definidos por el usuario que se pasan a la aplicación a través de eventos.

[out] phDrt

Nuevo identificador asociado al DRT. Esto se usa en todas las operaciones futuras en la instancia de DRT.

Valor devuelto

Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles son:

Código devuelto Descripción
E_INVALIDARG
phDrt es NULL.
DRT_E_INVALID_SETTINGS
pSettings es NULL o el valor de miembro dwSize de DRT_SETTINGS no es igual al tamaño del objeto DRT_SETTINGS .
DRT_E_INVALID_KEY_SIZE
cbKey no es igual a 256 bits.
DRT_E_INVALID_MAX_ADDRESSES
El miembro ulMaxRoutingAddresses de DRT_SETTINGS especifica menos de 1 o más de 20 como el número máximo de direcciones.
DRT_E_INVALID_TRANSPORT_PROVIDER
El miembro hTransport de DRT_SETTINGS es NULL o algunos campos del transporte son NULL.
DRT_E_INVALID_SECURITY_MODE
El miembro eSecurityMode de DRT_SETTINGS especifica un modo de seguridad no válido.
DRT_E_INVALID_SECURITY_PROVIDER
El miembro pSecurityProvider de DRT_SETTINGS es NULL.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
El miembro pBootstrapProvider de DRT_SETTINGS es NULL o algunos campos del proveedor de arranque son NULL.
DRT_E_INVALID_INSTANCE_PREFIX
El tamaño del pwzDrtInstancePrefix especificado en DRT_SETTINGS es mayor que la longitud máxima del prefijo (128).
E_OUTOFMEMORY
El sistema no puede asignar memoria para esta operación.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
El proveedor de arranque ya está asociado.
DRT_E_SECURITYPROVIDER_IN_USE
El proveedor de seguridad ya está asociado.
DRT_TRANSPORTPROVIDER_IN_USE
El proveedor de transporte ya está asociado.
DRT_E_INVALID_CERT_CHAIN
La cadena de certificación no es válida.
DRT_E_CAPABILITY_MISMATCH
El certificado local no puede ser NULL en DRT_SECURE_MEMBERSHIP y DRT_SECURE_CONFIDENTIALPAYLOAD seguridad.
DRT_E_TRANSPORT_SHUTTING_DOWN
El transporte se está cerrando.
DRT_E_TRANSPORT_ALREADY_BOUND
El transporte ya está enlazado.
DRT_S_RETRY
El proveedor de arranque no pudo encontrar otros nodos, pero puede que se realice correctamente en un segundo intento.
DRT_E_TRANSPORT_INVALID_ARGUMENT
El parámetro del proveedor de transporte es NULL o no es válido.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
El transporte no está conectado.
E_FAIL
Error irrecuperable inesperado.

Comentarios

Después de llamar a DrtOpen , el DRT iniciará el procedimiento de arranque y se moverá al estado DRT_ACTIVE o DRT_ALONE , en función del éxito del arranque.

Requisitos

   
Cliente mínimo compatible Windows 7 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado drt.h
Library Drt.lib
Archivo DLL Drt.dll

Consulte también

DRT_SETTINGS

DrtClose