Struktur PROTOCOL_INFO berisi informasi tentang protokol.
Sintaksis
typedef struct _PROTOCOL_INFOW {
DWORD dwServiceFlags;
INT iAddressFamily;
INT iMaxSockAddr;
INT iMinSockAddr;
INT iSocketType;
INT iProtocol;
DWORD dwMessageSize;
LPWSTR lpProtocol;
} PROTOCOL_INFOW, *PPROTOCOL_INFOW, *LPPROTOCOL_INFOW;
Anggota
dwServiceFlags
Jenis: DWORD
Sekumpulan bendera bit yang menentukan layanan yang disediakan oleh protokol. Satu atau beberapa bendera bit berikut dapat diatur.
| Nilai |
Arti |
-
XP_CONNECTIONLESS
|
Jika bendera ini diatur, protokol menyediakan layanan tanpa koneksi (datagram). Jika bendera ini jelas, protokol menyediakan transfer data berorientasi koneksi.
|
-
XP_GUARANTEED_DELIVERY
|
Jika bendera ini diatur, protokol menjamin bahwa semua data yang dikirim akan mencapai tujuan yang dimaksudkan. Jika bendera ini jelas, tidak ada jaminan seperti itu.
|
-
XP_GUARANTEED_ORDER
|
Jika bendera ini diatur, protokol menjamin bahwa data akan tiba dalam urutan pengirimannya. Perhatikan bahwa karakteristik ini tidak menjamin pengiriman data, hanya pesanannya. Jika bendera ini jelas, urutan data yang dikirim tidak dijamin.
|
-
XP_MESSAGE_ORIENTED
|
Jika bendera ini diatur, protokol berorientasi pesan. Protokol berorientasi pesan mematuhi batas pesan. Jika bendera ini jelas, protokol berorientasi aliran, dan konsep batas pesan tidak relevan.
|
-
XP_PSEUDO_STREAM
|
Jika bendera ini diatur, protokol adalah protokol berorientasi pesan yang mengabaikan batas pesan untuk semua operasi penerimaan.
Kemampuan opsional ini berguna ketika Anda tidak ingin protokol membingkai pesan. Aplikasi yang memerlukan karakteristik berorientasi aliran dapat membuka soket dengan jenis SOCK_STREAM untuk protokol transportasi yang mendukung fungsionalitas ini, terlepas dari nilai iSocketType.
|
-
XP_GRACEFUL_CLOSE
|
Jika bendera ini diatur, protokol mendukung operasi penutupan dua fase, juga dikenal sebagai operasi penutupan yang anggun. Jika bendera ini jelas, protokol hanya mendukung operasi penutupan abortif.
|
-
XP_EXPEDITED_DATA
|
Jika bendera ini diatur, protokol mendukung data yang dipercepat, juga dikenal sebagai data mendesak.
|
-
XP_CONNECT_DATA
|
Jika bendera ini diatur, protokol mendukung data sambungkan.
|
-
XP_DISCONNECT_DATA
|
Jika bendera ini diatur, protokol mendukung pemutusan sambungan data.
|
-
XP_SUPPORTS_BROADCAST
|
Jika bendera ini diatur, protokol mendukung mekanisme siaran.
|
-
XP_SUPPORTS_MULTICAST
|
Jika bendera ini diatur, protokol mendukung mekanisme multicast.
|
-
XP_BANDWIDTH_ALLOCATION
|
Jika bendera ini diatur, protokol mendukung mekanisme untuk mengalokasikan bandwidth yang dijamin ke aplikasi.
|
-
XP_FRAGMENTATION
|
Jika bendera ini diatur, protokol mendukung fragmentasi pesan; MTU jaringan fisik disembunyikan dari aplikasi.
|
-
XP_ENCRYPTS
|
Jika bendera ini diatur, protokol mendukung enkripsi data.
|
iAddressFamily
Jenis: INT
Nilai yang akan diteruskan sebagai parameter af ketika fungsi soket dipanggil untuk membuka soket untuk protokol. Nilai keluarga alamat ini secara unik mendefinisikan struktur alamat protokol, juga dikenal sebagai sockaddr struktur, yang digunakan oleh protokol.
iMaxSockAddr
Jenis: INT
Panjang maksimum alamat soket yang didukung oleh protokol, dalam byte.
iMinSockAddr
Jenis: INT
Panjang minimum alamat soket yang didukung oleh protokol, dalam byte.
iSocketType
Jenis: INT
Nilai yang akan diteruskan sebagai parameter jenis ketika fungsi soket dipanggil untuk membuka soket untuk protokol.
Perhatikan bahwa jika XP_PSEUDO_STREAM diatur dalam dwServiceFlags, aplikasi dapat menentukan SOCK_STREAM sebagai parameter jenis kesoket , terlepas dari nilai iSocketType.
iProtocol
Jenis: INT
Nilai yang akan diteruskan sebagai parameter protokol ketika fungsi soket dipanggil untuk membuka soket untuk protokol.
dwMessageSize
Jenis: DWORD
Ukuran pesan maksimum yang didukung oleh protokol, dalam byte. Ini adalah ukuran maksimum pesan yang dapat dikirim dari atau diterima oleh host. Untuk protokol yang tidak mendukung pembingkaian pesan, ukuran maksimum aktual pesan yang dapat dikirim ke alamat tertentu mungkin kurang dari nilai ini.
Nilai ukuran pesan khusus berikut ditentukan.
| Nilai |
Arti |
-
0
|
Protokol berorientasi aliran; konsep ukuran pesan tidak relevan.
|
-
0xFFFFFFFF
|
Protokol berorientasi pesan, tetapi tidak ada ukuran pesan maksimum.
|
lpProtocol
Jenis: LPTSTR
Penunjuk ke string nol yang dihentikan yang memberikan nama untuk protokol; misalnya, "SPX2."
Nota
Header nspapi.h mendefinisikan PROTOCOL_INFO sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
| Syarat |
Nilai |
|
klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
| server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Header |
nspapi.h |
Lihat juga
EnumProtocols
soket