Поделиться через


Метод ICertAdmin2::GetCAPropertyFlags (certadm.h)

Метод GetCAPropertyFlags извлекает флаги свойства для свойства центра сертификации (ЦС). Этот метод был впервые определен в интерфейсе ICertAdmin .

Флаги свойств можно проверить, чтобы определить тип данных и определить, индексируется ли свойство.

Синтаксис

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

Параметры

[in] strConfig

Представляет допустимую строку конфигурации для ЦС в формате COMPUTERNAME\CANAME, где COMPUTERNAME — сетевое имя сервера служб сертификации, а CANAME — общее имя ЦС, указанное при настройке служб сертификации. Дополнительные сведения об имени строки конфигурации см. в разделе ICertConfig.

Важно!GetCAPropertyFlags не очищает внутренний кэш при изменении строки конфигурации. При изменении строки конфигурации для ЦС необходимо создать экземпляр нового объекта ICertAdmin и снова вызвать этот метод с новой строкой конфигурации.
 

[in] PropId

Указывает идентификатор свойства. Сведения об этом параметре см. в таблице в разделе ICertAdmin2::GetCAProperty.

[out] pPropFlags

Указатель на значение, представляющее флаги свойств.

Возвращаемое значение

C++

Возвращаемое значение — HRESULT. Значение S_OK указывает, что метод был успешным.

VB

Объект Long, представляющий флаги свойства.

Комментарии

Значение LONG , полученное путем вызова этого метода, можно проверить, чтобы определить тип данных и индексированное состояние. Чтобы определить тип данных и индексированное состояние, используйте значения PROPTYPE_MASK и PROPFLAGS_INDEXED соответственно.

Примеры

В следующем примере предполагается, что указатель интерфейса ICertAdmin2 является допустимым.

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

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header certadm.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certadm.dll