다음을 통해 공유


DrtOpen 함수(drt.h)

DrtOpen 함수는 DRT_SETTINGS 구조에 지정된 조건에 대해 로컬 분산 라우팅 테이블 instance 만듭니다.

구문

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

매개 변수

[in] pSettings

DRT instance 만드는 데 사용되는 설정을 지정하는 DRT_SETTINGS 구조체에 대한 포인터입니다.

[in] hEvent

이벤트가 발생할 때 신호를 받은 이벤트에 대한 핸들입니다.

[in, optional] pvContext

이벤트를 통해 애플리케이션에 전달되는 사용자 정의 컨텍스트 데이터입니다.

[out] phDrt

DRT와 연결된 새 핸들입니다. 이는 DRT instance 대한 모든 향후 작업에서 사용됩니다.

반환 값

이 함수는 성공에 대한 S_OK 반환합니다. 다른 가능한 값은 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
phDrtNULL입니다.
DRT_E_INVALID_SETTINGS
pSettingsNULL이거나 DRT_SETTINGSdwSize 멤버 값이 DRT_SETTINGS 개체의 크기와 같지 않습니다.
DRT_E_INVALID_KEY_SIZE
cbKey 는 256비트와 같지 않습니다.
DRT_E_INVALID_MAX_ADDRESSES
DRT_SETTINGSulMaxRoutingAddresses 멤버는 최대 주소 수로 1개 또는 20개 미만을 지정합니다.
DRT_E_INVALID_TRANSPORT_PROVIDER
DRT_SETTINGShTransport 멤버가 NULL이거나 전송의 일부 필드가 NULL입니다.
DRT_E_INVALID_SECURITY_MODE
DRT_SETTINGSeSecurityMode 멤버는 잘못된 보안 모드를 지정합니다.
DRT_E_INVALID_SECURITY_PROVIDER
DRT_SETTINGSpSecurityProvider 멤버는 NULL입니다.
DRT_E_INVALID_BOOTSTRAP_PROVIDER
DRT_SETTINGSpBootstrapProvider 멤버가 NULL이거나 부트스트랩 공급자의 일부 필드가 NULL입니다.
DRT_E_INVALID_INSTANCE_PREFIX
DRT_SETTINGS 지정된 pwzDrtInstancePrefix의 크기가 최대 접두사 길이(128)보다 큽니다.
E_OUTOFMEMORY
시스템에서 이 작업에 대한 메모리를 할당할 수 없습니다.
DRT_E_BOOTSTRAPPROVIDER_IN_USE
부트스트랩 공급자가 이미 연결되어 있습니다.
DRT_E_SECURITYPROVIDER_IN_USE
보안 공급자가 이미 연결되어 있습니다.
DRT_TRANSPORTPROVIDER_IN_USE
전송 공급자가 이미 연결되어 있습니다.
DRT_E_INVALID_CERT_CHAIN
인증 체인이 잘못되었습니다.
DRT_E_CAPABILITY_MISMATCH
로컬 인증서는 DRT_SECURE_MEMBERSHIP 및 DRT_SECURE_CONFIDENTIALPAYLOAD 보안에서 NULL 일 수 없습니다.
DRT_E_TRANSPORT_SHUTTING_DOWN
전송이 종료되고 있습니다.
DRT_E_TRANSPORT_ALREADY_BOUND
전송이 이미 바인딩되어 있습니다.
DRT_S_RETRY
부트스트랩 공급자가 다른 노드를 찾지 못했지만 두 번째 시도에서 성공할 수 있습니다.
DRT_E_TRANSPORT_INVALID_ARGUMENT
전송 공급자 매개 변수가 NULL 이거나 잘못되었습니다.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
전송이 연결되지 않았습니다.
E_FAIL
예기치 않은 심각한 오류가 발생했습니다.

설명

DrtOpen이 호출되면 DRT는 부트스트랩의 성공에 따라 부트스트랩 프로시저를 시작하고 DRT_ACTIVE 또는 DRT_ALONE 상태로 이동합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 drt.h
라이브러리 Drt.lib
DLL Drt.dll

추가 정보

DRT_SETTINGS

DrtClose