DrtRegisterKey 함수(drt.h)

DrtRegisterKey 함수는 DRT에 키를 등록합니다.

구문

HRESULT DrtRegisterKey(
  [in]           HDRT                      hDrt,
  [in]           DRT_REGISTRATION          *pRegistration,
  [in, optional] PVOID                     pvKeyContext,
  [out]          HDRT_REGISTRATION_CONTEXT *phKeyRegistration
);

매개 변수

[in] hDrt

DrtOpen 함수에서 반환된 핸들에 대한 포인터입니다.

[in] pRegistration

DRT_REGISTRATION 구조체에 대한 핸들에 대한 포인터입니다.

[in, optional] pvKeyContext

DRT의 키와 연결된 컨텍스트 데이터에 대한 포인터입니다. 이 데이터는 보안 공급자의 키 관련 함수에 전달됩니다.

[out] phKeyRegistration

등록된 키에 대한 핸들에 대한 포인터입니다.

반환 값

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

반환 코드 설명
E_INVALIDARG
  • pRegistrationNULL입니다.
  • DRT_REGISTRATION 구조체의 appData 멤버의 cb 값이 너무 큽니다(예: 1보다 작음).
  • DRT_REGISTRATION 구조체의 appData 멤버의 cb 값이 너무 큽니다(예: 5120 이상).
  • DRT_REGISTRATION 구조체의 멤버의 pb 값은 NULL입니다.
  • phKeyRegistrationNULL입니다.
E_HANDLE
hDrt 가 잘못된 핸들이거나 phKeyRegistration 이 잘못된 핸들입니다.
DRT_E_INVALID_KEY_SIZE
DRT_REGISTRATION 구조체의 키 멤버의 cb 값 크기가 256비트이거나 DRT_REGISTRATION 구조체의 멤버의 pb 값이 NULL입니다.
DRT_E_FAULTED
DRT 클라우드가 오류가 발생한 상태입니다.
DRT_E_DUPLICATE_KEY
키가 이미 등록되어 있습니다.
DRT_E_INVALID_CERT_CHAIN
제공된 인증 체인이 잘못되었습니다.
DRT_E_CAPABILITY_MISMATCH
제공된 인증서 공급자는 AES를 사용할 수 없습니다.
DRT_E_INVALID_KEY
제공된 키가 생성된 키와 일치하지 않습니다.
DRT_E_TRANSPORT_NO_DEST_ADDRESSES
유효한 주소를 찾을 수 없습니다.
DRT_E_TRANSPORT_SHUTTING_DOWN
전송이 종료되고 있습니다.
DRT_E_INVALID_TRANSPORT_PROVIDER
전송 공급자가 NULL입니다.
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
전송이 연결되지 않았습니다.
DRT_E_SECURITYPROVIDER_NOT_ATTACHED
보안 공급자가 연결되어 있지 않습니다.
DRT_E_TRANSPORT_NOT_BOUND
전송은 현재 바인딩되지 않습니다.
E_OUTOFMEMORY
시스템이 메모리가 부족합니다.
E_UNEXPECTED
  • GlobalControl.HandleTable은 NULL입니다.
  • 클라우드가 종료되고 있습니다.
  • DRT가 종료되고 있습니다.
E_FAIL
예기치 않은 심각한 오류가 발생했습니다.
 
 

설명

노드는 DRT_ACTIVE, DRT_ALONE또는DRT_NO_NETWORK 상태에 있는 동안 키를 등록할 수 있습니다. 그러나 DRT_ALONE 및 DRT_NO_NETWORK 상태에 등록된 키는 로컬 노드가 DRT_ACTIVE 전환한 후에만 다른 DRT에서 인식할 수 있습니다.

기존 키를 업데이트하려면 애플리케이션이 DrtRegisterKey 를 호출하여 업데이트된 키를 등록하기 전에 먼저 DrtUnregisterKey 로 키를 등록 취소해야 합니다.

요구 사항

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

추가 정보

DRT_REGISTRATION

DrtOpen

DrtUnregisterKey