Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
По крайней мере один из параметров 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 упаковки
Разделы общих сведений
Руководство по программированию API упаковки
Упаковка интерфейсов цифровой подписи
Справочные материалы