CertRegisterSystemStore 함수(wincrypt.h)

CertRegisterSystemStore 함수는 시스템 저장소를 등록합니다.

구문

BOOL CertRegisterSystemStore(
  [in] const void              *pvSystemStore,
  [in] DWORD                   dwFlags,
  [in] PCERT_SYSTEM_STORE_INFO pStoreInfo,
  [in] void                    *pvReserved
);

매개 변수

[in] pvSystemStore

등록할 시스템 저장소를 식별합니다. dwFlags 매개 변수에서 CERT_SYSTEM_STORE_RELOCATE_FLAG 설정된 경우 pvSystemStoreCERT_SYSTEM_STORE_RELOCATE_PARA 구조를 가리킵니다. 그렇지 않으면 시스템 저장소의 이름을 지정하는 null로 끝나는 유니코드 문자열을 가리킵니다.

dwFlags에서 적절한 설정을 사용하면 식별된 저장소가 원격 로컬 컴퓨터의 시스템 저장소가 될 수 있습니다. 원격 컴퓨터의 저장소는 컴퓨터 이름으로 시스템 저장소 이름의 접두사로 등록할 수 있습니다. 예를 들어 원격 로컬 컴퓨터 저장소는 "\ComputerName\Trust" 또는 "ComputerName\Trust" 문자열을 가리키는 pvSystemStore 에 등록할 수 있습니다.

선행 "\" 백슬라이쉬는 ComputerName 이전의 선택 사항입니다.

[in] dwFlags

dwFlags 매개 변수의 상위 단어는 시스템 저장소의 위치를 지정하는 데 사용됩니다.

다음과 같은 상위 단어 값이 정의됩니다.

의미
CERT_SYSTEM_STORE_CURRENT_SERVICE
pvSystemStore 는 ServiceName 접두사를 가진 시스템 저장소 이름일 수 있습니다.
CERT_SYSTEM_STORE_CURRENT_USER
pvSystemStore 는 UserName 접두사를 가진 시스템 저장소 이름일 수 있습니다.
CERT_SYSTEM_STORE_LOCAL_MACHINE
pvSystemStore 는 원격 컴퓨터에 있는 시스템 저장소일 수 있습니다.
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
pvSystemStore 는 그룹 정책 저장소이며 원격 컴퓨터에 있을 수 있습니다.
CERT_SYSTEM_STORE_SERVICES
pvSystemStore 는 ServiceName 접두사로 된 시스템 저장소 이름이어야 합니다.
CERT_SYSTEM_STORE_USERS
pvSystemStore 는 UserName 접두사를 가진 시스템 저장소 이름이어야 합니다.
 

원격 컴퓨터의 저장소는 CERT_SYSTEM_STORE_LOCAL_MACHINE, CERT_SYSTEM_STORE_SERVICES, CERT_SYSTEM_STORE_USERS 또는 CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY 등록할 수 있습니다.

다음 하위 단어 값도 정의되며, 단어 값이 높은 비트 OR 연산을 사용하여 결합할 수 있습니다.

의미
CERT_SYSTEM_STORE_RELOCATE_FLAG
시스템 저장소가 기본 레지스터 위치에 있지 않으며 pvSystemStoreCERT_SYSTEM_STORE_RELOCATE_PARA 구조체에 대한 포인터여야 합니다.
CERT_STORE_CREATE_NEW_FLAG
시스템 저장소가 저장소 위치에 이미 있는 경우 함수가 실패합니다.

[in] pStoreInfo

나중에 사용할 수 있도록 예약되며 NULL로 설정해야 합니다.

[in] pvReserved

나중에 사용할 수 있도록 예약되며 NULL로 설정해야 합니다.

반환 값

함수가 성공하면 함수는 0이 아닌 값을 반환합니다.

함수가 실패하면 0을 반환합니다.

설명

이 함수에 의해 등록된 시스템 저장소의 등록을 취소하려면 CertUnregisterSystemStore를 호출합니다.

예제

다음 예제에서는 레지스트리 시스템 저장소 컬렉션에 시스템 저장소를 추가하는 방법을 보여줍니다. 이 예제의 전체 컨텍스트를 포함하는 예제는 예제 C 프로그램: 시스템 및 물리적 저장소 나열을 참조하세요.

//--------------------------------------------------------------------
// Declare and initialize variables.

LPCWSTR pvSystemName= L"NEWSTORE";  // For this setting of 
                                    // dwFlags, the store name may 
                                    // be prefixed with a user name.
DWORD dwFlags= CERT_SYSTEM_STORE_CURRENT_USER;

if(CertRegisterSystemStore(
    pvSystemName,
    dwFlags,
    NULL,
    NULL))
{
  printf("System store %S is registered. \n",pvSystemName);
}
else
{
  printf("The system store did not register. \n");
  exit(1);
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CertEnumPhysicalStore

CertEnumSystemStore

CertEnumSystemStoreLocation

CertRegisterPhysicalStore

CertUnregisterPhysicalStore

CertUnregisterSystemStore

인증서 저장소 함수