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

El método GetCAPropertyFlags recupera las marcas de propiedad de una propiedad de entidad de certificación (CA). Este método se definió por primera vez en la interfaz ICertAdmin .

Las marcas de propiedad se pueden examinar para determinar el tipo de datos y determinar si la propiedad está indizada.

Sintaxis

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

Parámetros

[in] strConfig

Representa una cadena de configuración válida para la ENTIDAD de certificación con el formato COMPUTERNAME\CANAME, donde COMPUTERNAME es el nombre de red del servidor de Servicios de certificados y CANAME es el nombre común de la ENTIDAD de certificación, tal como se especifica durante la configuración de Servicios de certificados. Para obtener información sobre el nombre de la cadena de configuración, vea ICertConfig.

ImportanteGetCAPropertyFlags no borra la memoria caché interna cuando se cambia la cadena de configuración. Al cambiar la cadena de configuración de la entidad de certificación, debe crear una instancia de un nuevo objeto ICertAdmin y llamar a este método de nuevo con la nueva cadena de configuración.
 

[in] PropId

Especifica el identificador de propiedad. Para obtener información sobre este parámetro, vea la tabla en ICertAdmin2::GetCAProperty.

[out] pPropFlags

Puntero a un valor que representa las marcas de propiedad.

Valor devuelto

C++

El valor devuelto es hrESULT. Un valor de S_OK indica que el método se realizó correctamente.

VB

Long que representa las marcas de propiedad.

Comentarios

El valor LONG recuperado llamando a este método se puede examinar para determinar el tipo de datos y el estado indizado. Para determinar el tipo de datos y el estado indizado, use los valores PROPTYPE_MASK y PROPFLAGS_INDEXED, respectivamente.

Ejemplos

En el ejemplo siguiente se supone que el puntero de interfaz ICertAdmin2 es 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 Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certadm.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certadm.dll