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


Интерфейс SignEventObject

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

 

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

Синтаксис

'Декларация
<CoClassAttribute(GetType(SignEventObjectWrapper))> _
<GuidAttribute("096cd71d-0786-11d1-95fa-0080c78ee3bb")> _
<CLSCompliantAttribute(False)> _
Public Interface SignEventObject
    Inherits SignEvent, DocReturnEvent, DocEvent
'Применение
Dim instance As SignEventObject
[CoClassAttribute(typeof(SignEventObjectWrapper))] 
[GuidAttribute("096cd71d-0786-11d1-95fa-0080c78ee3bb")] 
[CLSCompliantAttribute(false)] 
public interface SignEventObject : SignEvent, DocReturnEvent, DocEvent

Заметки

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

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

Пример

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

[InfoPathEventHandler(EventType=InfoPathEventType.OnSign)]
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.SemiTrust