다음을 통해 공유


CERT_STORE_PROV_INFO 구조체(wincrypt.h)

CERT_STORE_PROV_INFO 구조에는 를 사용하여 저장소를 열 때 설치된 CertDllOpenStoreProv 함수에서 반환된 정보가 포함됩니다.
CertOpenStore 함수입니다.

저장소를 열 때 CertOpenStore 함수는 CERT_STORE_PROV_INFO 구조의 모든 필드를 cbSize를 제외하고 0으로 설정합니다. 이 필드는 CERT_STORE_PROV_INFO 크기로 설정됩니다. 구조체는 CertDllOpenStoreProv 설치 가능 함수에 의해 업데이트됩니다. 호출할 추가 콜백 함수가 없는 경우 반환 시 cStoreProvFunc 는 0으로 유지됩니다.

구문

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

멤버

cbSize

이 구조체의 크기(바이트)를 포함합니다.

cStoreProvFunc

rgpvStoreProvFunc 배열의 요소 수를 포함합니다. 이 개수에는 마지막 콜백 함수가 구현되기 전에 인덱스에 사용되는 NULL 값이 포함되어야 합니다. 예를 들어 하나의 콜백 함수만 구현되었지만 인덱스 2(CERT_STORE_PROV_WRITE_CERT_FUNC)에 있는 경우 인덱스 0 및 1의 경우 이 매개 변수에 대해 숫자 3을 전달해야 합니다.

rgpvStoreProvFunc

공급자가 구현하는 콜백 함수에 대한 포인터 배열입니다. 이 배열은 다음 표에 제공된 값에 의해 인덱싱되며 표시된 순서대로 되어 있어야 합니다. 연결된 콜백 함수도 표시됩니다. 구현되지 않은 모든 콜백 함수는 NULL로 설정해야 합니다. 배열은 모든 콜백 함수 인덱스를 포함할 필요가 없으며 구현된 가장 높은 콜백 함수 인덱스만 포함하면 됩니다. 예를 들어 CERT_STORE_PROV_WRITE_CERT_FUNC (2) 콜백 함수만 구현되는 경우 배열에는 세 개의 요소만 포함되어야 합니다.

의미
CERT_STORE_PROV_CLOSE_FUNC
0(0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1(0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2(0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3(0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4(0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5(0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6(0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7(0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8(0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9(0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10(0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11(0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12(0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13(0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14(0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15(0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16(0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17(0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18(0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19(0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20(0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21(0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22(0x16)

CertStoreProvGetCTLProperty

hStoreProv

모든 콜백에 전달된 첫 번째 매개 변수인 32비트 애플리케이션 정의 값입니다. 애플리케이션은 이 멤버의 내용을 원하는 대로 지정할 수 있습니다. 일반적으로 이 포인터는 열려 있는 각 저장소에 대한 공급자 상태 정보와 같이 애플리케이션과 관련된 데이터에 대한 포인터입니다.

dwStoreProvFlags

공급자의 작동 방식을 지정하는 플래그 집합을 포함합니다. 다음 값 중 하나 이상의 조합 또는 0을 포함합니다.

의미
CERT_STORE_PROV_EXTERNAL_FLAG
1(0x1)
공급자는 저장소 캐시 외부에 있는 인증서, 인증서 해지 목록인증서 신뢰 목록을 저장합니다.
CERT_STORE_PROV_DELETED_FLAG
2(0x2)
저장소가 성공적으로 삭제되었습니다. CertStoreProvCloseCallback 콜백이 호출되지 않습니다.
CERT_STORE_PROV_NO_PERSIST_FLAG
4(0x4)
기본적으로 공급자는 저장소에 적용된 변경 내용을 유지합니다. 이 플래그가 설정되면 공급자는 저장소에 대한 변경 내용을 유지하지 않습니다.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8(0x8)
공급자는 시스템 저장소에 컨텍스트를 유지합니다.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16(0x10)
공급자는 LocalMachine 시스템 저장소에 컨텍스트를 유지합니다.

hStoreProvFuncAddr2

CryptGetOIDFunctionAddress에서 반환된 핸들을 포함합니다. CertCloseStoreCryptFreeOIDFunctionAddress 를 호출하여 null이 아닌 hStoreProvFuncAddr2를 해제합니다. 이렇게 하면 콜백이 저장소를 닫을 때 해제될 다른 설치 가능한 함수를 호출할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
머리글 wincrypt.h