Функция CryptXmlAddObject (cryptxml.h)

Функция CryptXmlAddObject добавляет элемент Object в подпись в контексте документа, открытом для кодирования.

Синтаксис

HRESULT CryptXmlAddObject(
  [in]            HCRYPTXML                hSignatureOrObject,
                  DWORD                    dwFlags,
  [in, optional]  const CRYPT_XML_PROPERTY *rgProperty,
  [in]            ULONG                    cProperty,
  [in]            const CRYPT_XML_BLOB     *pEncoded,
  [out, optional] const CRYPT_XML_OBJECT   **ppObject
);

Параметры

[in] hSignatureOrObject

Дескриптор сигнатуры, возвращаемого функцией CryptXmlOpenToEncode , или дескриптор reference, возвращаемый функцией CryptXmlCreateReference с установленным флагом CRYPT_XML_FLAG_CREATE_REFERENCE_AS_OBJECT .

dwFlags

Задает флаги, управляющие способом добавления объекта.

В следующей таблице приведены определенные значения dwFlags .

Значение Значение
CRYPT_XML_ADD_OBJECT_CREATE_REFERENCE
Если задано значение , то создается копия XML-части в памяти и включается в элемент Object .

[in, optional] rgProperty

Указатель на структуру CRYPT_XML_PROPERTY , задающую дополнительные свойства, используемые для декодирования элемента Object .

[in] cProperty

Количество элементов в массиве, на который указывает свойство rgProperty .

[in] pEncoded

Указатель на структуру CRYPT_XML_BLOB , содержащую элемент Object .

[out, optional] ppObject

Указатель на указатель на CRYPT_XML_OBJECT структуру для получения декодированных структур. Этот параметр должен иметь значение NULL , если параметр hSignatureOrObject содержит дескриптор объекта .

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

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

Если функция завершается сбоем, она возвращает значение HRESULT , указывающее на ошибку.

Комментарии

Если параметр hSignatureOrObject задает дескриптор ссылки, возвращаемый функцией CryptXmlCreateReference , параметр pEncoded указывает XML-содержимое, которое включается в узел Object после необязательного элемента Manifest . Указатель, содержащийся в параметре pEncoded , должен быть действительным до завершения сигнатуры. В противном случае используйте флаг CRYPT_XML_FLAG_ADD_OBJECT_CREATE_COPY , чтобы создать копию в памяти.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header cryptxml.h
Библиотека Cryptxml.lib
DLL Cryptxml.dll