Método ICertAdmin2::GetCAPropertyFlags (certadm.h)

O método GetCAPropertyFlags recupera os sinalizadores de propriedade para uma propriedade de AC (autoridade de certificação ). Esse método foi definido pela primeira vez na interface ICertAdmin .

Os sinalizadores de propriedade podem ser examinados para determinar o tipo de dados e determinar se a propriedade é indexada.

Sintaxe

HRESULT GetCAPropertyFlags(
  [in]  const BSTR strConfig,
  [in]  LONG       PropId,
  [out] LONG       *pPropFlags
);

Parâmetros

[in] strConfig

Representa uma cadeia de caracteres de configuração válida para a AC no formato COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor dos Serviços de Certificados e CANAME é o nome comum da AC, conforme inserido 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.

ImportanteGetCAPropertyFlags não limpa o cache interno quando a cadeia de caracteres de configuração é alterada. Ao alterar a cadeia de caracteres de configuração para a AC, você deve instanciar um novo objeto ICertAdmin e chamar esse método novamente com a nova cadeia de caracteres de configuração.
 

[in] PropId

Especifica o identificador de propriedade. Para obter informações sobre esse parâmetro, consulte a tabela em ICertAdmin2::GetCAProperty.

[out] pPropFlags

Um ponteiro para um valor que representa os sinalizadores de propriedade.

Retornar valor

C++

O valor retornado é um HRESULT. Um valor de S_OK indica que o método foi bem-sucedido.

VB

Um Long que representa os sinalizadores de propriedade.

Comentários

O valor LONG recuperado chamando esse método pode ser examinado para determinar o tipo de dados e o status indexado. Para determinar o tipo de dados e os status indexados, use os valores PROPTYPE_MASK e PROPFLAGS_INDEXED, respectivamente.

Exemplos

O exemplo a seguir pressupõe que o ponteiro da interface ICertAdmin2 seja válido.

BSTR bstrCA = NULL;
LONG nFlags;  // Variable to contain the property flags.

bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
if (NULL == bstrCA)
{
    printf("Failed to allocate memory for bstrCA\n");
    exit(1);
}

// Retrieve a property's flags.
hr = pCertAdmin2->GetCAPropertyFlags(bstrCA,
                                     CR_PROP_EXITCOUNT,
                                     &nFlags);
if (FAILED(hr))
{
    printf("Failed GetCAPropertyFlags\n");
    SysFreeString(bstrCA);
    exit(1);  // Or other error action.
}
// Display the property data type.
switch (nFlags & PROPTYPE_MASK)
{
    case PROPTYPE_BINARY:
        printf("Type is BINARY\n");
        break;
    case PROPTYPE_DATE:
        printf("Type is DATE\n");
        break;
    case PROPTYPE_LONG:
        printf("Type is LONG\n");
        break;
    case PROPTYPE_STRING:
        printf("Type is STRING\n");
        break;
    default:
        printf("Unexpected data type.\n");
        break;
}
// Display the property's indexed status.
printf("Property %s indexed\n", 
       nFlags & PROPFLAGS_INDEXED ? "is" : "is not");

SysFreeString(bstrCA);

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 certadm.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certadm.dll