Metodo ICertManageModule::GetProperty (certmod.h)
Il metodo GetProperty recupera il valore della proprietà di un modulo.
Sintassi
HRESULT GetProperty(
[in] const BSTR strConfig,
[in] BSTR strStorageLocation,
[in] BSTR strPropertyName,
[in] LONG Flags,
[out, retval] VARIANT *pvarProperty
);
Parametri
[in] strConfig
Rappresenta la stringa di configurazione per il server Servizi certificati nel formato COMPUTERNAME\CANAME, dove COMPUTERNAME è il nome di rete del server servizi certificati e CANAME è il nome comune dell'autorità di certificazione (CA) come immesso per la CA durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.
[in] strStorageLocation
Chiave del Registro di sistema che indica il percorso di archiviazione nel HKEY_LOCAL_MACHINE hive per i valori della proprietà. Questo valore è nel formato seguente:
SYSTEM CurrentControlSet Services CertSvc Configuration CAName PolicyOrExitModules MyModule.PolicyOrExit
CAName è il nome della stringa di configurazione dell'autorità di certificazione, PolicyOrExitModules sarà "Policy" o "Exit" (a seconda che un modulo Policy o Exit si applichi a questa implementazione di ICertManageModule) e MyModule.PolicyOrExit è l'identificatore specifico dell'applicazione per il modulo. Si noti che CAName è il nome sanificato per l'autorità di certificazione. Per informazioni sul nome sanificato, vedere ICertConfig::GetConfig. L'uso di questa posizione di archiviazione è destinato a un uso futuro.
[in] strPropertyName
Nome della proprietà su cui viene eseguito la query. I moduli criteri e uscita devono supportare le proprietà seguenti.
[in] Flags
Questo parametro è riservato e deve essere impostato su zero.
[out, retval] pvarProperty
Puntatore a un valore VARIANT che rappresenta il valore recuperato per la proprietà specificata da strPropertyName.
Valore restituito
C++
Se il metodo ha esito positivo, il metodo restituisce S_OK.Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco dei codici di errore comuni, vedere Valori HRESULT comuni.
VB
Il valore restituito è un valore Variant che rappresenta il valore della proprietà denominata strPropertyName.Commenti
L'implementazione di ICertManageModule consente a Gestione servizi certificati di recuperare le proprietà del modulo chiamando GetProperty. Le proprietà possono quindi essere visualizzate nelle pagine delle proprietà di Gestione servizi certificati per i moduli criteri e di uscita. Gestione servizi certificati passerà la posizione a cui fa riferimento strStorageLocation a questo modulo e nelle versioni future l'implementazione di questo metodo potrà quindi usare questo percorso in base alle esigenze. L'esempio seguente non usa strStorageLocation , ma mantiene invece i valori delle proprietà in memoria.
Esempio
#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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Nessuno supportato |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | certmod.h (include Certsrv.h) |
Libreria | Certidl.lib |
Vedi anche
CCertManageModule