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


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

Возвращаемый код или значение Описание
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Объект уже инициализирован.

Комментарии

Укажите свойство для инициализации путем вызова свойства PropertyId . Чтобы получить закодированное значение свойства, можно вызвать свойство RawData . Вызовите метод SetValueOnCertificate , чтобы связать значение свойства с сертификатом.

Если метод InitializeDecode завершается сбоем, объект ICertProperty не инициализируется и значение входного свойства не сохраняется. Однако свойство PropertyId сохраняет указанный идентификатор.

Метод InitializeDecode предоставляется для инициализации пользовательских свойств и свойств, определенных в перечислении CERTENROLL_PROPERTYID , для которого не существует определенного интерфейса. Каждое из поддерживаемых значений в этом перечислении содержит сведения о типе данных, обычно CRYPT_INTEGER_BLOB, которые необходимо предоставить методу InitializeDecode . Для преобразования массива байтов в строку можно использовать интерфейс IBinaryConverter .

Следующие интерфейсы упрощают создание наиболее распространенных свойств:

Требования

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

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

ICertProperties

ICertProperty