Método ICertManageModule::GetProperty (certmod.h)
O método GetProperty recupera o valor da propriedade de um módulo.
Sintaxe
HRESULT GetProperty(
[in] const BSTR strConfig,
[in] BSTR strStorageLocation,
[in] BSTR strPropertyName,
[in] LONG Flags,
[out, retval] VARIANT *pvarProperty
);
Parâmetros
[in] strConfig
Representa a cadeia de caracteres de configuração para o servidor dos Serviços de Certificados no formato COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor de Serviços de Certificados e CANAME é o nome comum da AC (autoridade de certificação ), conforme inserido para a AC durante a instalação dos Serviços de Certificados. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.
[in] strStorageLocation
Uma chave do Registro que indica o local de armazenamento no hive HKEY_LOCAL_MACHINE para os valores da propriedade. Esse valor está no seguinte formato:
SYSTEM CurrentControlSet Services CertSvc Configuration CAName PolicyOrExitModules MyModule.PolicyOrExit
O CAName é o nome da cadeia de caracteres de configuração da autoridade de certificação, PolicyOrExitModules será "Policy" ou "Exit" (dependendo se um módulo Policy ou Exit se aplica a essa implementação de ICertManageModule) e MyModule.PolicyOrExit é o identificador específico do aplicativo para o módulo. Observe que CAName é o nome higienizado para a autoridade de certificação. Para obter informações sobre o nome sanitizado, consulte ICertConfig::GetConfig. O uso desse local de armazenamento é para uso futuro.
[in] strPropertyName
O nome da propriedade que está sendo consultada. Os módulos de política e saída devem dar suporte às propriedades a seguir.
[in] Flags
Esse parâmetro é reservado e deve ser definido como zero.
[out, retval] pvarProperty
Um ponteiro para um VARIANT que é o valor recuperado para a propriedade especificada por strPropertyName.
Retornar valor
C++
Se o método for bem-sucedido, o método retornará S_OK.Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
VB
O valor retornado é um Variant que representa o valor da propriedade chamada strPropertyName.Comentários
Implementar ICertManageModule permite que o Gerenciador de Serviços de Certificados recupere as propriedades do módulo chamando GetProperty. As propriedades podem ser exibidas nas páginas de propriedades do Gerenciador de Serviços de Certificados para Módulos de Política e Saída. O Gerenciador de Serviços de Certificados passará o local referenciado por strStorageLocation para este módulo e, em versões futuras, a implementação desse método poderá usar esse local conforme necessário. O exemplo a seguir não usa strStorageLocation , mas mantém os valores de propriedade na memória.
Exemplos
#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;
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certmod.h (inclua Certsrv.h) |
Biblioteca | Certidl.lib |
Confira também
CCertManageModule