Metode ICertManageModule::GetProperty (certmod.h)
Metode GetProperty mengambil nilai properti modul.
Sintaks
HRESULT GetProperty(
[in] const BSTR strConfig,
[in] BSTR strStorageLocation,
[in] BSTR strPropertyName,
[in] LONG Flags,
[out, retval] VARIANT *pvarProperty
);
Parameter
[in] strConfig
Mewakili string konfigurasi untuk server Layanan Sertifikat dalam bentuk COMPUTERNAME\CANAME, di mana COMPUTERNAME adalah nama jaringan server Certificate Services, dan CANAME adalah nama umum otoritas sertifikasi (CA) seperti yang dimasukkan untuk CA selama penyiapan Layanan Sertifikat. Untuk informasi tentang nama string konfigurasi, lihat ICertConfig.
[in] strStorageLocation
Kunci registri yang menunjukkan lokasi penyimpanan di sarang HKEY_LOCAL_MACHINE untuk nilai properti. Nilai ini dalam bentuk berikut:
SYSTEM CurrentControlSet Services CertSvc Configuration CAName PolicyOrExitModules MyModule.PolicyOrExit
CAName adalah nama string konfigurasi otoritas sertifikasi, PolicyOrExitModules akan berupa "Policy" atau "Exit" (tergantung pada apakah modul Policy atau Exit berlaku untuk implementasi ICertManageModule ini), dan MyModule.PolicyOrExit adalah pengidentifikasi khusus aplikasi untuk modul. Perhatikan bahwa CAName adalah nama sanitasi untuk otoritas sertifikasi. Untuk informasi tentang nama yang dibersamakan, lihat ICertConfig::GetConfig. Penggunaan lokasi penyimpanan ini untuk digunakan di masa mendatang.
[in] strPropertyName
Nama properti yang sedang dikueri. Modul kebijakan dan keluar harus mendukung properti berikut.
Nilai | Makna |
---|---|
|
Nama modul. |
|
Deskripsi modul. |
|
Hak cipta yang berkaitan dengan modul. |
|
Versi file modul. |
|
Versi modul. |
[in] Flags
Parameter ini dicadangkan dan harus diatur ke nol.
[out, retval] pvarProperty
Penunjuk ke VARIAN yang merupakan nilai yang diambil untuk properti yang ditentukan oleh strPropertyName.
Nilai kembali
C++
Jika metode berhasil, metode akan mengembalikan S_OK.Jika metode gagal, metode mengembalikan nilai HRESULT yang menunjukkan kesalahan. Untuk daftar kode kesalahan umum, lihat Nilai HRESULT Umum.
VB
Nilai yang dikembalikan adalah Varian yang mewakili nilai properti bernama strPropertyName.Keterangan
Menerapkan ICertManageModule memungkinkan Pengelola Layanan Sertifikat untuk mengambil properti modul dengan memanggil GetProperty. Properti kemudian dapat ditampilkan di halaman properti Pengelola Layanan Sertifikat untuk Modul Kebijakan dan Keluar. Pengelola Layanan Sertifikat akan meneruskan lokasi yang dirujuk oleh strStorageLocation ke modul ini, dan dalam versi mendatang implementasi metode ini kemudian dapat menggunakan lokasi ini sesuai kebutuhan. Contoh berikut tidak menggunakan strStorageLocation tetapi sebaliknya, mempertahankan nilai properti dalam memori.
Contoh
#include <windows.h>
#include <Certmod.h>
HRESULT CCertManagePolicyModule::GetProperty(
/* [in] */ const BSTR strConfig,
/* [in] */ BSTR strStorageLocation,
/* [in] */ BSTR strPropertyName,
/* [in] */ LONG Flags,
/* [retval][out] */ VARIANT *pvarProperty)
{
// Array of property Names.
// These values are defined in Certmod.h.
wchar_t const * awszPropName[] =
{
wszCMM_PROP_NAME,
wszCMM_PROP_DESCRIPTION,
wszCMM_PROP_COPYRIGHT,
wszCMM_PROP_FILEVER,
wszCMM_PROP_PRODUCTVER
};
// Array of property Values.
// These values are module-specific, and
// correspond to the property names in
// awszPropName (same index).
wchar_t const * awszPropValue[] =
{
L"MyModule", // NAME
L"Description of MyModule", // DESCRIPTION
L"Copyright 1998", // COPYRIGHT
L"1.0", // FILE VERSION
L"1.0" // PRODUCT VERSION
};
int i;
bool bFound = FALSE;
HRESULT hr;
// Return appropriate error if strPropertyName is NULL.
if (NULL == strPropertyName)
return E_INVALIDARG;
// Return appropriate error if pvarProperty is NULL.
if (NULL == pvarProperty)
return E_POINTER;
// Determine whether the requested property is in the Name array.
for (i=0; i<sizeof(awszPropName)/sizeof(wchar_t *); i++)
if (!wcscmp( strPropertyName, awszPropName[i]))
{
bFound = TRUE; // Found the index for the property.
break;
}
if ( !bFound )
return S_FALSE; // Requested property not found.
// Allocate storage for the property value.
pvarProperty->bstrVal = SysAllocString(awszPropValue[i]);
if (NULL == pvarProperty->bstrVal)
return E_OUTOFMEMORY;
pvarProperty->vt = VT_BSTR;
return S_OK;
}
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 | certmod.h (termasuk Certsrv.h) |
Pustaka | Certidl.lib |
Lihat juga
CCertManageModule