Share via


SignEventObject 接口

OnSign 事件期间使用的一个事件对象。

命名空间:  Microsoft.Office.Interop.InfoPath.SemiTrust
程序集:  Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)

语法

声明
<GuidAttribute("096cd71d-0786-11d1-95fa-0080c78ee3bb")> _
Public Interface SignEventObject _
    Inherits SignEvent, DocReturnEvent, DocEvent
用法
Dim instance As SignEventObject
[GuidAttribute("096cd71d-0786-11d1-95fa-0080c78ee3bb")]
public interface SignEventObject : SignEvent, 
    DocReturnEvent, DocEvent

备注

此类型是用于 Coclass(托管代码需要此 Coclass 来实现 COM 互操作性)的包装。使用此类型来访问由此 Coclass 实现的 COM 接口。有关 COM 接口的信息(包括指向其成员说明的链接),请参阅SignEvent.

使用 SignedDataBlockObject 对象的 SignedDataBlock 属性确定由哪一组可签名的数据触发 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 命名空间