Fungsi CryptMsgUpdate (wincrypt.h)
Fungsi CryptMsgUpdate menambahkan konten ke pesan kriptografi. Penggunaan fungsi ini memungkinkan pesan dibangun sepotong demi sepotong melalui panggilan berulang dari CryptMsgUpdate. Konten pesan yang ditambahkan dikodekan atau didekodekan tergantung pada apakah pesan dibuka dengan CryptMsgOpenToEncode atau CryptMsgOpenToDecode.
Sintaks
BOOL CryptMsgUpdate(
[in] HCRYPTMSG hCryptMsg,
[in] const BYTE *pbData,
[in] DWORD cbData,
[in] BOOL fFinal
);
Parameter
[in] hCryptMsg
Handel pesan kriptografi pesan yang akan diperbarui.
[in] pbData
Penunjuk ke buffer yang menyimpan data yang akan dikodekan atau didekodekan.
[in] cbData
Jumlah byte data dalam penyangga pbData .
[in] fFinal
Menunjukkan bahwa blok data terakhir untuk pengodean atau pendekodean sedang diproses. Penggunaan bendera ini yang benar tergantung pada apakah pesan yang diproses telah mencopot data. Penyertaan data yang dilepas dalam pesan ditunjukkan dengan mengatur dwFlags ke CMSG_DETACHED_FLAG dalam panggilan ke fungsi yang membuka pesan.
Jika CMSG_DETACHED_FLAG tidak diatur dan pesan dibuka menggunakan CryptMsgOpenToDecode atau CryptMsgOpenToEncode, fFinal diatur ke TRUE, dan CryptMsgUpdate hanya dipanggil sekali.
Jika bendera CMSG_DETACHED_FLAG diatur dan pesan dibuka menggunakan CryptMsgOpenToEncode, fFinal diatur ke TRUE hanya pada panggilan terakhir ke CryptMsgUpdate.
Jika bendera CMSG_DETACHED_FLAG diatur dan pesan dibuka menggunakan CryptMsgOpenToDecode, fFinal diatur ke TRUE saat header diproses oleh satu panggilan ke CryptMsgUpdate. Ini diatur ke FALSE saat memproses data yang dilepas dalam panggilan berikutnya ke CryptMsgUpdate hingga blok data terakhir yang dilepas akan diproses. Pada panggilan terakhir ke CryptMsgUpdate, panggilan diatur ke TRUE.
Saat data yang dilepas didekodekan, header dan konten pesan terkandung dalam BLOB yang berbeda. Setiap BLOB mengharuskan fFinal diatur ke TRUE ketika panggilan terakhir ke fungsi dibuat untuk BLOB tersebut.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol (TRUE).
Jika fungsi gagal, nilai yang dikembalikan adalah nol (FALSE). Untuk informasi kesalahan yang diperluas, hubungi GetLastError.
Kesalahan yang ditemui dalam fungsi panggilan balik yang ditentukan aplikasi yang ditentukan oleh pStreamInfo di CryptMsgOpenToDecode dan CryptMsgOpenToEncode mungkin disebarkan ke CryptMsgUpdate jika streaming digunakan. Jika ini terjadi, SetLastError tidak dipanggil oleh CryptMsgUpdate setelah fungsi panggilan balik kembali, yang mempertahankan kesalahan apa pun yang ditemui di bawah kontrol aplikasi. Ini adalah tanggung jawab fungsi panggilan balik (atau salah satu API yang dipanggilnya) untuk memanggil SetLastError jika terjadi kesalahan saat aplikasi memproses data yang dialirkan.
Tabel berikut mencantumkan kode kesalahan yang paling umum dikembalikan oleh fungsi GetLastError .
Menampilkan kode | Deskripsi |
---|---|
|
Tipe pesan tidak valid. |
|
Terjadi kesalahan saat melakukan operasi kriptografi. |
|
Pengidentifikasi objek diformat dengan buruk. |
|
Pesan tidak dikodekan seperti yang diharapkan. |
|
Algoritma kriptografi tidak diketahui. |
|
Satu atau beberapa argumen tidak valid. |
|
Kehabisan memori. |
Kesalahan yang disebarkan mungkin ditemui dari salah satu fungsi berikut:
Jika fungsi gagal, GetLastError dapat mengembalikan kesalahan pengodean/pendekodean Abstract Syntax Notation One (ASN.1). Untuk informasi tentang kesalahan ini, lihat Nilai Pengembalian Pengodean/Pendekodean ASN.1.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | wincrypt.h |
Pustaka | Crypt32.lib |
DLL | Crypt32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk