Fungsi CertAddCTLContextToStore (wincrypt.h)
Fungsi CertAddCTLContextToStore menambahkan konteks daftar kepercayaan sertifikat (CTL) ke penyimpanan sertifikat.
Sintaks
BOOL CertAddCTLContextToStore(
[in] HCERTSTORE hCertStore,
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwAddDisposition,
[out, optional] PCCTL_CONTEXT *ppStoreContext
);
Parameter
[in] hCertStore
Menangani penyimpanan sertifikat.
[in] pCtlContext
Penunjuk ke struktur CTL_CONTEXT untuk ditambahkan ke penyimpanan.
[in] dwAddDisposition
Menentukan tindakan yang akan diambil jika CTL yang cocok atau tautan ke CTL yang cocok sudah ada di penyimpanan. Nilai disposisi yang ditentukan saat ini dan penggunaannya adalah sebagai berikut.
Nilai | Makna |
---|---|
|
Tidak memeriksa CTL yang cocok atau tautan ke CTL yang cocok. CTL baru selalu ditambahkan ke penyimpanan. Ini dapat menyebabkan duplikat di toko. |
|
Jika CTL yang cocok atau tautan ke CTL yang cocok ada, operasi gagal. GetLastError mengembalikan kode CRYPT_E_EXISTS. |
|
Jika CTL yang cocok atau tautan ke CTL yang cocok ada, waktu ThisUpdate pada CTL dibandingkan. Jika CTL yang ada memiliki waktu ThisUpdate kurang dari waktu ThisUpdate pada CTL baru, CTL atau tautan lama diganti sama seperti CERT_STORE_ADD_REPLACE_EXISTING. Jika CTL yang ada memiliki waktu ThisUpdate yang lebih besar dari atau sama dengan waktu ThisUpdate pada CTL yang akan ditambahkan, fungsi gagal dengan GetLastError mengembalikan kode CRYPT_E_EXISTS.
Jika CTL yang cocok atau tautan ke CTL yang cocok tidak ditemukan di penyimpanan, CTL baru ditambahkan ke penyimpanan. |
|
Tindakan ini sama dengan untuk CERT_STORE_ADD_NEWER, kecuali bahwa jika CTL yang lebih lama diganti, properti CTL yang lebih lama dimasukkan ke dalam CTL pengganti. |
|
Jika CTL yang cocok atau tautan ke CTL yang cocok ada, CTL atau tautan yang ada akan dihapus dan CTL baru dibuat dan ditambahkan ke penyimpanan. Jika CTL yang cocok atau tautan ke CTL yang cocok tidak ada, CTL akan ditambahkan. |
|
Jika CTL yang cocok ada di penyimpanan, konteks yang ada akan dihapus sebelum membuat dan menambahkan konteks baru. Konteks tambahan mewarisi properti dari CTL yang ada. |
|
Jika ada CTL yang cocok atau tautan ke CTL yang cocok, CTL yang ada akan digunakan dan properti dari CTL baru ditambahkan. Fungsi tidak gagal, tetapi tidak ada CTL baru yang ditambahkan. Jika ppCertContext bukan NULL, konteks yang ada diduplikasi.
Jika CTL yang cocok atau tautan ke CTL yang cocok tidak ada, CTL baru ditambahkan. |
[out, optional] ppStoreContext
Arahkan ke penunjuk ke konteks CTL yang didekodekan. Parameter opsional ini dapat berupa NULL yang menunjukkan bahwa aplikasi panggilan tidak memerlukan salinan CTL yang ditambahkan atau yang ada. Jika salinan dibuat, konteks tersebut harus dibebaskan menggunakan CertFreeCTLContext.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.
Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Kesalahan dari fungsi yang disebut CertAddEncodedCRLToStore dan CertSetCRLContextProperty dapat disebarkan ke fungsi ini.
Untuk informasi kesalahan yang diperluas, hubungi GetLastError. Beberapa kemungkinan kode kesalahan mengikuti.
Menampilkan kode | Deskripsi |
---|---|
|
Kesalahan ini dikembalikan jika CERT_STORE_ADD_NEW diatur dan CTL ada di penyimpanan atau jika CERT_STORE_ADD_NEWER diatur dan CTL ada di penyimpanan dengan tanggal ThisUpdate lebih besar dari atau sama dengan tanggal ThisUpdate pada CTL yang akan ditambahkan. |
|
Disposisi add yang tidak valid ditentukan oleh parameter dwAddDisposition . |
Keterangan
Konteks CTL tidak diduplikasi menggunakan CertDuplicateCTLContext. Sebagai gantinya, salinan baru dibuat dan ditambahkan ke penyimpanan. Selain CTL yang dikodekan, properti konteks disalin.
Untuk menghapus konteks CTL dari penyimpanan sertifikat, gunakan fungsi CertDeleteCTLFromStore .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |