IOpcDigitalSignatureManager::ReplaceSignatureXml 方法 (msopc.h)
取代儲存在指定簽章部分的現有簽章標記。
語法
HRESULT ReplaceSignatureXml(
[in] IOpcPartUri *signaturePartName,
[in] const UINT8 *newSignatureXml,
[in] UINT32 count,
[out, retval] IOpcDigitalSignature **digitalSignature
);
參數
[in] signaturePartName
IOpcPartUri 介面指標,代表儲存現有簽章標記之簽章元件的元件名稱。
[in] newSignatureXml
緩衝區,其中包含將取代現有標記的簽章標記。
[in] count
newSignatureXml 緩衝區的大小。
[out, retval] digitalSignature
新 IOpcDigitalSignature 介面的指標,代表衍生自 newSignatureXml 中傳遞之簽章標記的簽章。
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼/值 | 描述 |
---|---|
|
此方法已成功。 |
|
至少其中一個 signaturePartName、 newSignatureXml 和 digitalSignature 參數為 NULL。 |
|
newSignatureXml 緩衝區包含多個參考封裝 Object 元素的 Reference 元素,但只允許一個這類 Reference。 |
|
newSignatureXml 緩衝區包含多個具有相同 Id 屬性的 SignatureProperty 元素。 |
|
在 newSignatureXml 緩衝區中, Reference 元素是指封裝外部的物件。 參考 項目必須指向內部的元件或 Object 元素。 |
|
在 newSignatureXml 緩衝區中要求或使用不支援的標準方法。 |
|
在 newSignatureXml 緩衝區中,表示使用關聯性轉換的 Transform 元素,以及轉換的選取準則不符合 OPC 中指定的架構。 |
|
newSignatureXml 緩衝區未包含一個簽章的簽章標記。 |
|
newSignatureXml 緩衝區的大小為0,但此緩衝區的大小必須大於0。 |
|
在 newSignatureXml 緩衝區中,關聯性轉換後面不會接著標準化方法;關聯性轉換後面必須接著標準化方法。 |
|
在 newSignatureXml 緩衝區中,找不到封裝特定 Object 元素的參考。 |
|
newSignatureXml 緩衝區中的簽章標記未指定簽章方法演算法。 |
|
在 newSignatureXml 緩衝區中,找不到 SignatureProperties 元素。 |
|
在 newSignatureXml 緩衝區中,找不到 SignatureProperties 元素的 SignatureProperty 子元素。 |
|
在 newSignatureXml 緩衝區中,標識符屬性值為 “idSignatureTime” 的 SignatureProperty 元素不存在或未正確建構。 |
|
在 newSignatureXml 緩衝區中,會針對 Reference 元素指定多個關聯性轉換,但只允許一個關聯性轉換。 |
|
newSignatureXml 緩衝區中 Reference 元素的 URI 屬性值不包含參考元件的內容類型。 |
|
在 newSignatureXml 緩衝區中, SignatureProperty 元素遺漏必要的 Target 屬性。 |
|
位於 newSignatureXml 緩衝區中的 Reference 元素需要 URI 屬性,但屬性遺失。 |
|
套件未簽署;因此,無法取代簽章標記。 |
|
指定的元件不存在。 |
備註
這個方法不會驗證衍生自 newSignatureXml 參數中之新簽章標記的簽章。
呼叫端必須確認新的簽章標記會取代指定簽章部分的現有簽章標記,將不會中斷簽章。
此方法會變更現有的簽章標記;保留具有指定簽章元件的憑證和關聯性。
執行緒安全性
封裝物件不是安全線程。
如需詳細資訊,請參閱使用封裝 API 使用者入門。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | msopc.h |
另請參閱
概觀
參考