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


Интерфейс SignEventObject

Объект событий, используемый во время события OnSign.

Пространство имен: Microsoft.Office.Interop.InfoPath
Сборка: Microsoft.Office.Interop.InfoPath (в microsoft.office.interop.infopath.dll)

Синтаксис

'Декларация
<CoClassAttribute(GetType(SignEventObjectClass))> _
<GuidAttribute("096CD71D-0786-11D1-95FA-0080C78EE3BB")> _
Public Interface SignEventObject
    Inherits SignEvent
'Применение
Dim instance As SignEventObject
[CoClassAttribute(typeof(SignEventObjectClass))] 
[GuidAttribute("096CD71D-0786-11D1-95FA-0080C78EE3BB")] 
public interface SignEventObject : SignEvent

Заметки

Этот тип является программой-оболочкой для компонентного класса, которого требует управляемый программный код для COM-взаимодействия. Используйте этот тип для доступа к членам интерфейса COM, созданного этим компонентным классом. Дополнительные сведения об интерфейсе COM, включая ссылку на описания его членов, см. в статье SignEvent.

Использует свойство SignedDataBlock объекта SignedDataBlockObject для определения, какой набор данных, который может быть подписан, запускает событие OnSign. Событие OnSign может быть настроено только для шаблона формы с полным доверием.

Пример

В следующем примере объект SignEvent используется для добавления подписи и штампа времени к объекту SignedDataBlockObject:

public void OnSign(SignEvent e)
{
    Signature signature = e.SignedDataBlock.Signatures.Create();
    signature.Sign();
    // Countersign the signature with a trusted timestamp.
    // Get the XML node storing the signature block.
    IXMLDOMNode oNodeSig = signature.SignatureBlockXmlNode;
    IXMLDOMNode oNodeSigValue = oNodeSig.selectSingleNode(".//*[local-name(.)=’signatureValue’]");
    // Get time stamp from timestamp service (fictitious).
    MyTrustedTimeStampingService s = new MyTrustedTimeStampingService();
    string strVerifiedTimeStamp = s.AddTimeStamp(oNodeSigValue.text);
 
    //Add the value returned from the timestamping service to the 
    //unsigned part of the signature block.
    IXMLDOMNode oNodeObj = oNodeSig.selectSingleNode(".//*[local-name(.)=’Object’]");
    IXMLDOMNode oNode = oNodeObj.cloneNode(false);
    oNode.text = strVerifiedTimeStamp;
    oNodeObj.parentNode.appendChild(oNode);
    e.ReturnStatus = true;
}

См. также

Ссылка

Члены SignEventObject
Пространство имен Microsoft.Office.Interop.InfoPath