Metode ICertAdmin::GetCRL (certadm.h)
Metode GetCRL mengambil daftar pencabutan sertifikat (CRL) saat ini untuk otoritas sertifikasi Layanan Sertifikat (CA). Metode ini pertama kali didefinisikan dalam antarmuka ICertAdmin .
Sintaks
HRESULT GetCRL(
[in] const BSTR strConfig,
[in] LONG Flags,
[out] BSTR *pstrCRL
);
Parameter
[in] strConfig
Mewakili string konfigurasi yang valid untuk CA yang CRL-nya ingin Anda ambil. String ini dalam bentuk COMPUTERNAME\CANAME, di mana COMPUTERNAME adalah nama jaringan server Layanan Sertifikat dan CANAME adalah nama umum CA, seperti yang dimasukkan selama penyiapan Layanan Sertifikat. Untuk informasi tentang nama string konfigurasi, lihat ICertConfig.
[in] Flags
Menentukan format CRL yang dikembalikan. Parameter ini bisa menjadi salah satu bendera berikut.
Nilai | Makna |
---|---|
|
Format BASE64 dengan awal/akhir. |
|
Format BASE64 tanpa awal/akhir. |
|
Format biner. |
[out] pstrCRL
Pointer ke BSTR yang menerima CRL.
Saat menggunakan metode ini, buat variabel jenis BSTR , atur variabel ke NULL, dan teruskan alamat variabel ini dalam parameter pbstrCRL . Setelah Anda selesai menggunakan variabel BSTR , bebaskan dengan memanggil fungsi SysFreeString .
Menampilkan nilai
Jika fungsi berhasil, fungsi akan mengembalikan S_OK.
Jika fungsi gagal, fungsi mengembalikan nilai HRESULT yang menunjukkan kesalahan. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter strConfig tidak boleh NULL atau tidak ada CRL yang ditemukan. |
Keterangan
Tugas administrasi menggunakan DCOM. Kode yang memanggil metode antarmuka ini seperti yang didefinisikan dalam versi Certadm.h sebelumnya akan berjalan pada server berbasis Windows selama klien dan server menjalankan sistem operasi Windows yang sama.
Contoh
Contoh berikut mendeklarasikan variabel yang diperlukan, menginisialisasi COM, dan membuat instans kelas CertAdmin . Kemudian memanggil GetCRL dan mencetak keberhasilan atau kegagalan ke layar. Akhirnya, ini membebaskan sumber daya.
ICertAdmin * pCertAdmin = NULL; // pointer to interface object
BSTR bstrCA = NULL; // variable for machine\CAName
BSTR bstrCRL = NULL; // variable to contain
// the retrieved CRL
HRESULT hr;
// Initialize COM.
hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (FAILED(hr))
{
printf("Failed CoInitializeEx [%x]\n", hr);
goto error;
}
// Create the CertAdmin object
// and get a pointer to its ICertAdmin interface.
hr = CoCreateInstance( CLSID_CCertAdmin,
NULL,
CLSCTX_INPROC_SERVER,
IID_ICertAdmin,
(void **)&pCertAdmin);
if (FAILED(hr))
{
printf("Failed CoCreateInstance pCertAdmin [%x]\n", hr);
goto error;
}
// Note the use of two backslashes (\\)
// in C++ to produce one backslash (\).
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (FAILED(hr))
{
printf("Failed to allocate memory for bstrCA\n");
goto error;
}
// Retrieve the CRL.
hr = pCertAdmin->GetCRL( bstrCA, CR_OUT_BINARY, &bstrCRL );
if (FAILED(hr))
{
printf("Failed GetCRL [%x]\n", hr);
goto error;
}
else
printf("CRL retrieved successfully\n");
// Use the CRL as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrCRL)
SysFreeString(bstrCRL);
// Clean up object resources.
if (NULL != pCertAdmin)
pCertAdmin->Release();
// Free COM resources.
CoUninitialize();
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tidak ada yang didukung |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | certadm.h (termasuk Certsrv.h) |
Pustaka | Certidl.lib |
DLL | Certadm.dll |
Lihat juga
ICertAdmin2
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk