struktur WS_CHANNEL_ENCODER (webservices.h)
Struktur yang digunakan untuk menentukan sekumpulan panggilan balik yang dapat mengubah jenis konten dan byte yang dikodekan dari pesan terkirim.
Sintaks
typedef struct _WS_CHANNEL_ENCODER {
void *createContext;
WS_CREATE_ENCODER_CALLBACK createEncoderCallback;
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK encoderGetContentTypeCallback;
WS_ENCODER_START_CALLBACK encoderStartCallback;
WS_ENCODER_ENCODE_CALLBACK encoderEncodeCallback;
WS_ENCODER_END_CALLBACK encoderEndCallback;
WS_FREE_ENCODER_CALLBACK freeEncoderCallback;
} WS_CHANNEL_ENCODER;
Anggota
createContext
Konteks yang akan diteruskan ke WS_CREATE_ENCODER_CALLBACK.
createEncoderCallback
Panggilan balik WS_CREATE_ENCODER_CALLBACK yang membuat instans encoder.
encoderGetContentTypeCallback
Panggilan balik WS_ENCODER_GET_CONTENT_TYPE_CALLBACK yang dipanggil saat pesan akan dikodekan.
encoderStartCallback
Panggilan balik WS_ENCODER_START_CALLBACK yang dipanggil untuk mulai mengodekan pesan.
encoderEncodeCallback
Panggilan balik WS_ENCODER_ENCODE_CALLBACK yang dipanggil untuk mengodekan pesan.
encoderEndCallback
Panggilan balik WS_ENCODER_END_CALLBACK yang dipanggil ke di akhir pengodean pesan.
freeEncoderCallback
Panggilan balik WS_FREE_ENCODER_CALLBACK yang membebaskan instans encoder.
Keterangan
WS_CHANNEL mungkin ingin mengompresi, memodifikasi, atau mengubah byte pesan yang dikodekan sebelum dikirim. WS_CHANNEL_ENCODER menyediakan kait yang diperlukan untuk mencegat dan melakukan modifikasi ini.
Saat membuat saluran, WS_CHANNEL_PROPERTY_ENCODER harus diatur dengan fungsi yang sesuai.
Tata bahasa untuk panggilan balik encoder adalah:
encodercalls := create encoderloop* free
encoderloop := getcontenttype
| getcontenttype encodestart
| getcontenttype encodestart (encode*)
| getcontenttype encodestart (encode*) encodeend
Encoder mungkin tidak melihat urutan pengodean lengkap untuk pesan jika saluran atau encoder mengalami kesalahan saat menulis pesan. Encoder harus siap untuk menangani transisi ke status yang sesuai berdasarkan panggilan balik yang dipanggil.
Saat menggunakan WS_TCP_CHANNEL_BINDING dengan WS_CHANNEL_TYPE_SESSION, jenis konten diperbaiki untuk saluran. Dalam hal ini, WS_ENCODER_GET_CONTENT_TYPE_CALLBACK harus mengembalikan nilai yang sama persis untuk jenis konten setiap pesan.
Ketika saluran selesai menggunakan instans encoder, saluran akan membebaskannya melalui WS_FREE_ENCODER_CALLBACK.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 7 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 R2 [hanya aplikasi desktop] |
Header | webservices.h |
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