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


Метод 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".

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

Замечания

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

Требования

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

См. также

ICspInformation