Share via


Método ICertConfig::GetField (certcli.h)

O método GetField obtém um campo específico do registro atual do banco de dados de configuração. Esse método foi definido pela primeira vez na interface ICertConfig .

Sintaxe

HRESULT GetField(
  [in]          const BSTR strFieldName,
  [out, retval] BSTR       *pstrOut
);

Parâmetros

[in] strFieldName

Especifica o nome do campo a ser retornado. Esse parâmetro pode ser uma das seguintes cadeias de caracteres válidas para nomes de campo (observe que algumas autoridades de certificação podem não fornecer dados para cada campo).

Valor Significado
Autoridade
Nome da AC (autoridade de certificação) de referência.
Commonname
Nome comum do servidor.
Config
Nome do computador\CA de referência.
País
País/região.
Descrição
Comentário descritivo sobre o servidor (substitui o obsoleto "Comentário").
Exchangecertificate
Nome do arquivo que contém o certificado de troca (aplica-se somente aos Serviços de Certificado 1.0).
Sinalizadores
Cadeia de caracteres que representa o local em que as informações da AC foram encontradas. Para obter mais informações, consulte Comentários.
Localidade
Cidade ou cidade.
Organização
Organização.
OrgUnit
Unidade organizacional.
SanitizedName
Nome da AC que é higienizado de acordo com as regras descritas em GetConfig.
SanitizedShortName
Nome da AC que é higienizado e encurtado de acordo com as regras descritas em GetConfig.
Servidor
Nome do computador de referência.
ShortName
SanitizedShortName, mas com as sequências '!xxx', conforme descrito em GetConfig, traduzidas de volta para o texto original.
SignatureCertificate
Nome do arquivo que contém o certificado de autoridade de certificação (também conhecido como certificado de assinatura da AC); isso pode ou não ser um certificado raiz.
State
Estado ou província.
WebEnrollmentServers
Uma matriz de URLs do serviço Web de registro de certificado para uma configuração de AC específica no Active Directory.

Windows Vista e Windows Storage Server 2003: Não há suporte para esse campo.

[out, retval] pstrOut

Um ponteiro para um BSTR que recebe os dados do campo. Quando terminar de usar o BSTR, libere pbstrOut chamando a função SysFreeString .

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 é uma cadeia de caracteres que representa os dados do campo.

Comentários

Esse método retorna os dados de campo para o campo especificado.

Quando você especifica "Flags" no parâmetro strFieldName , os dados recuperados para o campo flags são uma cadeia de caracteres que pode ser convertida em um inteiro por meio da função da biblioteca C _wtoi. O inteiro resultante representa um campo de bits que pode ser examinado para determinar se os sinalizadores CAIF_DSENTRY e CAIF_SHAREDFOLDERENTRY estão definidos. Se CAIF_DSENTRY (0x00000001) estiver definido, as informações da AC estarão contidas nos Serviços de Diretório. Se CAIF_SHAREDFOLDERENTRY (0x00000002) estiver definido, as informações da AC estarão contidas na pasta compartilhada. Observe que um ou ambos os sinalizadores podem ser definidos.

Exemplos

    BSTR  bstrFieldName = NULL;
    BSTR  bstrFieldValue = NULL;
    HRESULT    hr;

    // Specify the field to retrieve, for example, "CommonName".
    bstrFieldName = SysAllocString(L"<FIELDNAMEHERE>");
    if (NULL == bstrFieldName)
    {
        printf("Memory allocation failed for bstrFieldName.\n");
        goto error;
    }

    // pConfig is a previously instantiated ICertConfig object.
    hr = pConfig->GetField(bstrFieldName, &bstrFieldValue);
    if (FAILED(hr))
    {
        printf("Failed GetField - [%x]\n", hr);
        goto error;
    }
    else
        printf("GetField value for %ws is: %ws\n", 
            bstrFieldName, bstrFieldValue );

error:

    if (bstrFieldName)
        SysFreeString(bstrFieldName);

    if (bstrFieldValue)
        SysFreeString(bstrFieldValue);

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

Confira também

CCertConfig

ICertConfig