Partager via


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

La méthode GetCAPropertyFlags récupère les indicateurs de propriété d’une propriété d’autorité de certification . Cette méthode a d’abord été définie dans l’interface ICertAdmin .

Les indicateurs de propriété peuvent être examinés pour déterminer le type de données et déterminer si la propriété est indexée.

Syntaxe

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

Paramètres

[in] strConfig

Représente une chaîne de configuration valide pour l’autorité de certification sous la forme COMPUTERNAME\CANAME, où COMPUTERNAME est le nom réseau du serveur des services de certificats et CANAME est le nom commun de l’autorité de certification, tel qu’entré lors de l’installation des services de certificats. Pour plus d’informations sur le nom de la chaîne de configuration, consultez ICertConfig.

Important: GetCAPropertyFlags n’efface pas le cache interne lorsque la chaîne de configuration est modifiée. Lorsque vous modifiez la chaîne de configuration de l’autorité de certification, vous devez instancier un nouvel objet ICertAdmin et appeler à nouveau cette méthode avec la nouvelle chaîne de configuration.
 

[in] PropId

Spécifie l’identificateur de propriété. Pour plus d’informations sur ce paramètre, consultez le tableau dans ICertAdmin2 ::GetCAProperty.

[out] pPropFlags

Pointeur vers une valeur qui représente les indicateurs de propriété.

Valeur retournée

C++

La valeur de retour est HRESULT. La valeur S_OK indique que la méthode a réussi.

VB

Long représentant les indicateurs de propriété.

Remarques

La valeur LONG récupérée en appelant cette méthode peut être examinée pour déterminer le type de données et le status indexé. Pour déterminer le type de données et les status indexés, utilisez respectivement les valeurs PROPTYPE_MASK et PROPFLAGS_INDEXED.

Exemples

L’exemple suivant suppose que le pointeur d’interface ICertAdmin2 est valide.

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);

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête certadm.h (include Certsrv.h)
Bibliothèque Certidl.lib
DLL Certadm.dll