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


Метод IOpcSignatureReferenceSet::Create (msopc.h)

Создает указатель интерфейса IOpcSignatureReference , представляющий ссылку на подписанный XML-элемент.

Синтаксис

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

Параметры

[in] referenceUri

Универсальный код ресурса (URI) упоминаемого XML-элемента.

Задайте для этого параметра значение URI, представляющего "#", за которым следует значение атрибута Id упоминаемого элемента: "#<elementIdValue>".

Примеры см. в разделе Примечания.

[in] referenceId

Атрибут Id элемента Reference , представляющего ссылку в разметке сигнатуры. Чтобы опустить атрибут Id , задайте для этого параметра значение NULL.

[in] type

Атрибут Type элемента Reference , представляющего ссылку в разметке сигнатуры. Чтобы опустить атрибут Type , задайте для этого параметра значение NULL.

[in] digestMethod

Дайджест-метод, используемый для ссылки на разметку XML. Чтобы использовать метод дайджеста по умолчанию, задайте для этого параметра значение NULL.

Важно Метод дайджеста по умолчанию необходимо задать путем вызова метода IOpcSigningOptions::SetDefaultDigestMethod перед вызовом метода IOpcDigitalSignatureManager::Sign .
 

[in] transformMethod

Метод канонизации, используемый для ссылки на XML-разметку.

[out, retval] reference

Новый указатель интерфейса IOpcSignatureReference , представляющий ссылку на подписанный XML-элемент.

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

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

Возвращаемый код или значение Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Значение, передаваемое в параметре transformMethod , не является допустимым значением перечисления OPC_CANONICALIZATION_METHOD.
E_POINTER
Параметр referenceUri имеет значение NULL.
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
Зарезервированное значение атрибута URI элемента Reference подписи для объекта package используется в качестве значения атрибута URIссылки на пользовательский элемент Object .

Комментарии

Этот метод создает ссылку на XML-элемент, который подписывается при создании сигнатуры. Элемент, на который указывает ссылка, может быть элементом Object для конкретного приложения или дочерним элементом объекта приложения.

Чтобы сослаться на XML-элемент для подписывания, задайте для параметра referenceUri значение URI, представляющее "#", за которым следует значение атрибута Id упоминаемого элемента, как показано в следующей таблице.

referenceUri Значение в виде строки Элемент, на который указывает ссылка Описание элемента
"#idMyCustomObject" "<Object Id="idMyCustomObject">...</Object>" Элемент Object , зависящий от приложения.
"#idMyElement" "<Object><MyElement Id="idMyElement">...</MyElement>...</Object>" Дочерний элемент объекта приложения.
 

Этот метод не создает ссылку на элемент Object для конкретного пакета для подписи; эта ссылка создается автоматически при создании сигнатуры.

Когда указатель интерфейса IOpcSignatureReference создается и добавляется в набор, ссылка, которую он представляет, сохраняется при сохранении пакета.

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

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

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

Требования

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

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

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

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

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

OPC_CANONICALIZATION_METHOD

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

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

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

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

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

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

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