IXpsSignatureManager::Metode tanda tangan (xpsdigitalsignature.h)
Menandatangani konten paket XPS seperti yang ditentukan oleh opsi penandatanganan dan mengembalikan tanda tangan digital yang dihasilkan.
Sintaks
HRESULT Sign(
[in] IXpsSigningOptions *signOptions,
[in] const CERT_CONTEXT *x509Certificate,
[out, retval] IXpsSignature **signature
);
Parameter
[in] signOptions
Penunjuk ke antarmuka IXpsSigningOptions yang berisi opsi penandatanganan.
Properti SignatureMethod dan DigestMethod dari antarmuka IXpsSigningOptions harus diinisialisasi sebelum penunjuk ke antarmuka tersebut dapat digunakan dalam parameter signOptions .
[in] x509Certificate
Penunjuk ke struktur CERT_CONTEXT yang berisi sertifikat X.509 yang akan digunakan untuk penandatanganan.
[out, retval] signature
Penunjuk ke antarmuka IXpsSignature yang berisi tanda tangan digital baru.
Jika berhasil, metode ini membuat bagian tanda tangan, menambahkannya ke paket, dan dalam tanda tangan mengembalikan penunjuk ke antarmuka bagian tanda tangan tersebut.
Mengembalikan nilai
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut. Untuk nilai pengembalian yang tidak tercantum dalam tabel ini, lihat Kesalahan XPS Digital Signature API dan Kesalahan Dokumen XPS.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil. |
|
Nilai XPS_SIGN_FLAGS menentukan bahwa tidak ada elemen kompatibilitas markup yang diharapkan; namun, elemen kompatibilitas markup ditemukan. |
|
signOptions tidak menunjuk ke implementasi antarmuka yang dikenali. Implementasi kustom antarmuka XPS Document API tidak didukung. |
|
Paket XPS belum dibuka di pengelola tanda tangan. |
Keterangan
Menambahkan tanda tangan baru tidak menimpa file atau aliran asli yang dibaca dengan memanggil metode LoadPackageFile atau LoadPackageStream . Tanda tangan akan ditambahkan ke salinan dalam memori paket XPS hingga paket disimpan (dengan memanggil metode SavePackageToFile atau SavePackageToStream ).
Jika tanda tangan baru menyertakan bagian yang berisi elemen kompatibilitas markup, defaultnya adalah agar metode ini gagal dengan kesalahan XPS_E_MARKUP_COMPATIBILITY_ELEMENTS. Untuk mengambil alih perilaku ini, panggil IXpsSigningOptions::SetFlags; ini akan mengatur bendera XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY di antarmuka IXpsSigningOptions yang dirujuk oleh parameter signOptions .
Jika metode ini mengembalikan nilai HRESULT yang tidak ada dalam daftar nilai pengembaliannya, manajer tanda tangan harus dirilis dan dibuat ulang.
Metode ini akan berhasil meskipun tanda tangan baru memutus tanda tangan yang ada.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | xpsdigitalsignature.h |