DRT_BOOTSTRAP_PROVIDER 구조체(drt.h)

DRT_BOOTSTRAP_PROVIDER 구조체는 부트스트랩 공급자가 구현해야 하는 DRT 인터페이스를 정의합니다.

참고 DRT 인프라는 부트스트랩 공급자의 메서드를 동시에 호출하지 않습니다.
 

구문

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;

멤버

pvContext

부트스트랩 확인자에서 정의한 컨텍스트 데이터에 대한 포인터입니다. 부트스트랩 확인자를 만들 때 개발자는 확인자를 필수 정보로 채워야 합니다. 종종 "this" 포인터로 발생합니다. 이 컨텍스트는 DRT_BOOTSTRAP_PROVIDER 정의된 함수의 모든 컨텍스트 매개 변수에 전달됩니다.

Attach

DRT 집합을 사용하여 부트스트랩 공급자에 대한 참조 수를 증분합니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

Detach

DRT 집합을 사용하여 부트스트랩 공급자에 대한 참조 수를 감소합니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

InitResolve

DRT 인프라에서 호출되어 예정된 이름 확인에 대한 구성 정보를 제공합니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

fSplitDetect

resolve 작업이 네트워크 분할 검색 및 복구에 활용되고 있는지를 지정합니다.

시간 제한

resolve 시간이 초과되기 전에 소요해야 하는 최대 시간을 지정합니다. 이 값은 밀리초 단위로 표시됩니다.

cMaxResults

resolve 작업 중에 반환할 최대 결과 수를 지정합니다.

ResolveContext

확인자 특정 데이터에 대한 포인터입니다.

fFatalError

부트스트랩 공급자에 복구할 수 없는 오류가 발생하는 경우 DRT가 오류 상태로 전환하려면 함수가 완료되면 이 매개 변수를 TRUE 로 설정해야 합니다. 디버깅을 위해 상위 계층 애플리케이션에서 사용할 수 있는 HRESULT는 오류 상태로의 전환을 알리는 이벤트와 연결된 DRT_EVENT_DATA 구조의 hr 멤버에 표시됩니다. fFatalError 플래그를 TRUE로 설정하는 경우 이 부트스트랩 공급자 함수는 S_OK 반환하지 않아야 합니다.

IssueResolve

DRT 인프라에서 DRT 클라우드에서 이미 활성화된 노드의 엔드포인트를 결정하는 해결 방법을 실행하기 위해 호출됩니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

pvCallbackContext

다음 매개 변수로 정의된 콜백으로 다시 전달되는 컨텍스트 데이터에 대한 포인터입니다.

콜백(callback)

각 결과 및 DRT_E_NO_MORE 대해 다시 호출되는 BOOTSTRAP_RESOLVE_CALLBACK.

ResolveContext

확인자 특정 데이터에 대한 포인터입니다.

fFatalError

부트스트랩 공급자에 복구할 수 없는 오류가 발생하는 경우 DRT가 오류 상태로 전환하려면 함수가 완료되면 이 매개 변수를 TRUE 로 설정해야 합니다. 디버깅을 위해 상위 계층 애플리케이션에서 사용할 수 있는 HRESULT는 오류 상태로의 전환을 알리는 이벤트와 연결된 DRT_EVENT_DATA 구조의 hr 멤버에 표시됩니다. fFatalError 플래그를 TRUE로 설정하는 경우 이 부트스트랩 공급자 함수는 S_OK 반환하지 않아야 합니다.

EndResolve

엔드포인트의 해상도를 종료합니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

ResolveContext

지정된 부트스트랩 공급자의 Resolve 함수에서 받은 BOOTSTRAP_RESOLVE_CONTEXT .

Register

부트스트래핑 메커니즘을 사용하여 엔드포인트를 등록합니다. 이 프로세스를 통해 다른 노드가 부트스트랩 확인자를 통해 엔드포인트를 찾을 수 있습니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

pAddressList

부트스트래핑 메커니즘에 등록할 주소 목록에 대한 포인터입니다.

Unregister

이 함수는 부트스트래핑 메커니즘을 사용하여 엔드포인트를 등록 취소합니다. 따라서 다른 노드는 부트스트랩 확인자를 통해 로컬 노드를 찾을 수 없습니다.

pvContext

DRT_BOOTSTRAP_PROVIDERpvContext 값을 포함합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 Professional [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 drt.h