Метод ICertProperty::InitializeDecode (certenroll.h)
Метод InitializeDecode инициализирует объект из массива байтов, содержащего значение свойства . Массив байтов представлен строкой в кодировке Юникод.
Синтаксис
HRESULT InitializeDecode(
[in] EncodingType Encoding,
[in] BSTR strEncodedData
);
Параметры
[in] Encoding
Значение перечисления EncodingType , указывающее тип кодировки Юникода, применяемой к входной строке.
[in] strEncodedData
Переменная BSTR, содержащая значение свойства в кодировке Distinguished Encoding Rules (DER).
Возвращаемое значение
Если функция выполнена успешно, функция возвращает S_OK.
Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
Возвращаемый код или значение | Описание |
---|---|
|
Объект уже инициализирован. |
Комментарии
Укажите свойство для инициализации путем вызова свойства PropertyId . Чтобы получить закодированное значение свойства, можно вызвать свойство RawData . Вызовите метод SetValueOnCertificate , чтобы связать значение свойства с сертификатом.
Если метод InitializeDecode завершается сбоем, объект ICertProperty не инициализируется и значение входного свойства не сохраняется. Однако свойство PropertyId сохраняет указанный идентификатор.
Метод InitializeDecode предоставляется для инициализации пользовательских свойств и свойств, определенных в перечислении CERTENROLL_PROPERTYID , для которого не существует определенного интерфейса. Каждое из поддерживаемых значений в этом перечислении содержит сведения о типе данных, обычно CRYPT_INTEGER_BLOB, которые необходимо предоставить методу InitializeDecode . Для преобразования массива байтов в строку можно использовать интерфейс IBinaryConverter .
Следующие интерфейсы упрощают создание наиболее распространенных свойств:
- ICertPropertyArchived
- ICertPropertyArchivedKeyHash
- ICertPropertyAutoEnroll
- ICertPropertyBackedUp
- ICertPropertyDescription
- ICertPropertyEnrollment
- ICertPropertyFriendlyName
- ICertPropertyKeyProvInfo
- ICertPropertyRenewal
- ICertPropertyRequestOriginator
- ICertPropertySHA1Hash
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |