Bagikan melalui


struktur CERT_STORE_PROV_INFO (wincrypt.h)

Struktur CERT_STORE_PROV_INFO berisi informasi yang dikembalikan oleh fungsi CertDllOpenStoreProv yang diinstal saat penyimpanan dibuka dengan menggunakan
Fungsi CertOpenStore .

Saat membuka penyimpanan, fungsi CertOpenStore mengatur semua bidang dalam struktur CERT_STORE_PROV_INFO ke nol kecuali cbSize, yang diatur ke ukuran CERT_STORE_PROV_INFO. Struktur diperbarui oleh fungsi certDllOpenStoreProv yang dapat diinstal. Jika tidak ada fungsi panggilan balik tambahan yang akan dipanggil, maka cStoreProvFunc tetap nol saat pengembalian.

Sintaks

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;

Anggota

cbSize

Berisi ukuran, dalam byte, dari struktur ini.

cStoreProvFunc

Berisi jumlah elemen dalam array rgpvStoreProvFunc . Jumlah ini harus menyertakan nilai NULL apa pun yang digunakan dalam indeks sebelum fungsi panggilan balik terakhir yang diterapkan. Misalnya, jika hanya satu fungsi panggilan balik yang diimplementasikan, tetapi berada di indeks 2 (CERT_STORE_PROV_WRITE_CERT_FUNC), dengan NULL untuk indeks 0 dan 1, maka angka 3 harus diteruskan untuk parameter ini.

rgpvStoreProvFunc

Array pointer ke fungsi panggilan balik yang diimplementasikan oleh penyedia. Array ini diindeks oleh nilai yang diberikan dalam tabel berikut, dan harus dalam urutan yang diperlihatkan. Fungsi panggilan balik terkait juga ditampilkan. Semua fungsi panggilan balik yang tidak diimplementasikan harus diatur ke NULL. Array tidak harus berisi semua indeks fungsi panggilan balik, hanya perlu berisi indeks fungsi panggilan balik tertinggi yang diterapkan. Misalnya, jika hanya fungsi panggilan balik CERT_STORE_PROV_WRITE_CERT_FUNC (2) yang diimplementasikan, array hanya perlu berisi tiga elemen.

Nilai Makna
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

Nilai 32-bit yang ditentukan aplikasi yang merupakan parameter pertama yang diteruskan ke semua panggilan balik. Aplikasi dapat menentukan isi anggota ini sesuai keinginan. Biasanya, ini adalah penunjuk ke data yang khusus untuk aplikasi, seperti informasi status penyedia untuk setiap penyimpanan yang dibuka.

dwStoreProvFlags

Berisi sekumpulan bendera yang menentukan cara kerja penyedia. Berisi nol atau kombinasi dari satu atau beberapa nilai berikut.

Nilai Makna
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
Penyedia menyimpan sertifikat, daftar pencabutan sertifikat, dan daftar kepercayaan sertifikat yang berada di luar cache penyimpanan.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
Penyimpanan berhasil dihapus. Panggilan balik CertStoreProvCloseCallback tidak dipanggil.
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
Secara default, penyedia akan mempertahankan perubahan yang dilakukan pada penyimpanan. Jika bendera ini diatur, penyedia tidak mempertahankan perubahan yang dilakukan pada penyimpanan.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
Penyedia mempertahankan konteks ke penyimpanan sistem.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
Penyedia mempertahankan konteks ke penyimpanan sistem LocalMachine.

hStoreProvFuncAddr2

Berisi handel yang dikembalikan oleh CryptGetOIDFunctionAddress. CertCloseStore memanggil CryptFreeOIDFunctionAddress untuk membebaskan hStoreProvFuncAddr2 non-null. Ini memungkinkan panggilan balik untuk memanggil satu fungsi lain yang dapat diinstal yang akan dikosongkan ketika penyimpanan ditutup.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Header wincrypt.h