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


Метод ICspInformation::GetCspStatusFromOperations (certenroll.h)

Метод GetCspStatusFromOperations создает объект ICspStatus для первого поддерживаемого алгоритма, который согласуется с указанной сигнатурой, шифрованием, хэшированием или операцией шифра.

Синтаксис

HRESULT GetCspStatusFromOperations(
  [in, optional] IObjectId               *pAlgorithm,
  [in]           AlgorithmOperationFlags Operations,
  [out]          ICspStatus              **ppValue
);

Параметры

[in, optional] pAlgorithm

Указатель на интерфейс IObjectId , представляющий OID алгоритма. Этот параметр является необязательным и может иметь значение NULL.

  • Если указать OID и задать для параметра Operationsзначение XCN_NCRYPT_SIGNATURE_OPERATION и объединить этот флаг с XCN_NCRYPT_EXACT_MATCH_OPERATION или XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION, используется первый алгоритм подписи, если таковой имеется, соответствующий OID.
  • Если вы указали OID, но не задали параметру Operationsзначение XCN_NCRYPT_SIGNATURE_OPERATION или вы задали XCN_NCRYPT_SIGNATURE_OPERATION , но не объединяете его с XCN_NCRYPT_EXACT_MATCH_OPERATION или XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION, используется первый алгоритм, который можно использовать для подписывания или шифрования.
  • Если OID не указан, используется первый поддерживаемый алгоритм, согласованный с флагами, указанными в параметре Operations .

[in] Operations

Значение перечисления AlgorithmOperationFlags , определяющее тип извлекаемого алгоритма. Необходимо указать одно из следующих значений:

  • XCN_NCRYPT_CIPHER_OPERATION
  • XCN_NCRYPT_HASH_OPERATION
  • XCN_NCRYPT_SIGNATURE_OPERATION
  • XCN_NCRYPT_SECRET_AGREEMENT_OPERATION
  • XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

Вы можете уточнить характеристики поиска, объединив один из предыдущих флагов с одним из следующих:

  • XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION
  • XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION
  • XCN_NCRYPT_EXACT_MATCH_OPERATION

Если заданы флаги XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION или XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION параметров, вы также не сможете указать один из следующих вариантов:

  • XCN_NCRYPT_CIPHER_OPERATION
  • XCN_NCRYPT_HASH_OPERATION

[out] ppValue

Адрес переменной, получающей указатель на интерфейс ICspStatus .

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

Если функция выполнена успешно, функция возвращает S_OK.

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.

Возвращаемый код или значение Описание
CERTSRV_E_PROPERTY_EMPTY
Не удалось найти объект ICspStatus .
OLE_E_BLANK
Объект ICspInformation не инициализирован.

Комментарии

Объект ICspStatus содержит сведения о состоянии поставщика шифрования. Каждый объект инициализируется для определенного алгоритма, поддерживаемого поставщиком. Если алгоритм не указан в параметре pAlgorithm , для создания объекта ICspStatus выбирается первый поддерживаемый алгоритм, совместимый с разрешенными операциями.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header certenroll.h
DLL CertEnroll.dll

См. также раздел

ICspInformation