Bagikan melalui


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
Nama modul.
Deskripsi
Deskripsi modul.
Hak cipta
Hak cipta yang berkaitan dengan modul.
Versi File
Versi file modul.
Versi Produk
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

ICertConfig

ICertManageModule

ICertManageModule::SetProperty