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 반환합니다. 다른 가능한 값은 다음과 같습니다.
반환 코드 | 설명 |
---|---|
|
phDrt 는 NULL입니다. |
|
pSettings는 NULL이거나 DRT_SETTINGSdwSize 멤버 값이 DRT_SETTINGS 개체의 크기와 같지 않습니다. |
|
cbKey 는 256비트와 같지 않습니다. |
|
DRT_SETTINGSulMaxRoutingAddresses 멤버는 최대 주소 수로 1개 또는 20개 미만을 지정합니다. |
|
DRT_SETTINGShTransport 멤버가 NULL이거나 전송의 일부 필드가 NULL입니다. |
|
DRT_SETTINGSeSecurityMode 멤버는 잘못된 보안 모드를 지정합니다. |
|
DRT_SETTINGSpSecurityProvider 멤버는 NULL입니다. |
|
DRT_SETTINGSpBootstrapProvider 멤버가 NULL이거나 부트스트랩 공급자의 일부 필드가 NULL입니다. |
|
DRT_SETTINGS 지정된 pwzDrtInstancePrefix의 크기가 최대 접두사 길이(128)보다 큽니다. |
|
시스템에서 이 작업에 대한 메모리를 할당할 수 없습니다. |
|
부트스트랩 공급자가 이미 연결되어 있습니다. |
|
보안 공급자가 이미 연결되어 있습니다. |
|
전송 공급자가 이미 연결되어 있습니다. |
|
인증 체인이 잘못되었습니다. |
|
로컬 인증서는 DRT_SECURE_MEMBERSHIP 및 DRT_SECURE_CONFIDENTIALPAYLOAD 보안에서 NULL 일 수 없습니다. |
|
전송이 종료되고 있습니다. |
|
전송이 이미 바인딩되어 있습니다. |
|
부트스트랩 공급자가 다른 노드를 찾지 못했지만 두 번째 시도에서 성공할 수 있습니다. |
|
전송 공급자 매개 변수가 NULL 이거나 잘못되었습니다. |
|
전송이 연결되지 않았습니다. |
|
예기치 않은 심각한 오류가 발생했습니다. |
설명
DrtOpen이 호출되면 DRT는 부트스트랩의 성공에 따라 부트스트랩 프로시저를 시작하고 DRT_ACTIVE 또는 DRT_ALONE 상태로 이동합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 7 Professional [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | drt.h |
라이브러리 | Drt.lib |
DLL | Drt.dll |