Метод 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.
Возвращаемый код или значение | Описание |
---|---|
|
Не удалось найти объект ICspStatus . |
|
Объект ICspInformation не инициализирован. |
Комментарии
Объект ICspStatus содержит сведения о состоянии поставщика шифрования. Каждый объект инициализируется для определенного алгоритма, поддерживаемого поставщиком. Если алгоритм не указан в параметре pAlgorithm , для создания объекта ICspStatus выбирается первый поддерживаемый алгоритм, совместимый с разрешенными операциями.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |