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


Метод IOpcSignatureCustomObject::GetXml (msopc.h)

Возвращает XML-разметку элемента Object для конкретного приложения.

Синтаксис

HRESULT GetXml(
  [out] UINT8  **xmlMarkup,
  [out] UINT32 *count
);

Параметры

[out] xmlMarkup

Указатель на буфер, содержащий XML-разметку элемента Object и включающий открывающий и закрывающий теги Object .

В буфере разметке XML предшествует метка порядка байтов , соответствующая кодировке разметки.

Поддерживаемые кодировки и значения меток порядка байтов .

Кодирование Описание Метка порядка байтов
UTF8 UTF-8 EF BB BF
UTF16LE UTF-16, маленький эндиан FF FE
UTF16BE UTF-16, большой эндиан FE FF
 

Пример буфера с меткой порядка байтов см. в разделе Примечания.

[out] count

Указатель на размер буфера xmlMarkup .

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_POINTER
По крайней мере один из параметров xmlMarkup и count имеет значение NULL.

Комментарии

Этот метод выделяет память, используемую буфером, возвращаемым в xmlMarkup. Если метод выполнен успешно, вызовите функцию CoTaskMemFree , чтобы освободить память.

Сериализованные для конкретного приложения элементы Object в разметке подписи можно добавлять, удалять или изменять путем замены разметки подписи.

Чтобы заменить разметку подписи, вызовите метод IOpcDigitalSignatureManager::ReplaceSignatureXml . Вызывающий объект должен убедиться, что добавление, удаление или изменение элементов Object , относящихся к приложению, не нарушает сигнатуру.

Чтобы подписать элемент Object для конкретного приложения или дочерний элемент этого элемента, создайте ссылку на подписанный XML-элемент. Создайте ссылку, вызвав метод IOpcSignatureReferenceSet::Create со значением параметра referenceUri , равным "#", за которым следует значение атрибута Id упоминаемого элемента. Например, если атрибут Id элемента, на который указывает ссылка, — "Application", задайте для referenceUri значение "#Application".

В следующей таблице показана метка порядка байтов в начале буфера xmlMarkup , содержащего "<Object Id="id1"></Object>":

Индекс байтов буфера 0 1 2 3 4 5 6 7 ...
Значение UTF8 EF BB BF '<' 'O' 'b' 'j' 'e' ...
Значение UTF16LE FF FE '<' 00 'O' 00 'b' 00 ...
 

Потокобезопасность

Объекты упаковки не являются потокобезопасны.

Дополнительные сведения см. в статье начало работы с помощью API упаковки.

Требования

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

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

Основные интерфейсы упаковки

начало работы с помощью API упаковки

IOpcDigitalSignatureManager

IOpcSignatureCustomObject

IOpcSignatureReferenceSet

Разделы общих сведений

Руководство по программированию API упаковки

Справочник по API упаковки

Примеры API упаковки

Упаковка интерфейсов цифровой подписи

Интерфейсы упаковки

Справочные материалы