IOControlCode Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan kode kontrol IO yang didukung oleh IOControl(Int32, Byte[], Byte[]) metode .
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Warisan
Bidang
AbsorbRouterAlert | 2550136837 | Nilai ini sama dengan konstanta Winsock 2 SIO_ABSORB_RTRALERT. |
AddMulticastGroupOnInterface | 2550136842 | Bergabunglah dengan grup multicast menggunakan antarmuka yang diidentifikasi oleh indeksnya. Nilai ini sama dengan konstanta Winsock 2 SIO_INDEX_ADD_MCAST. |
AddressListChange | 671088663 | Aktifkan menerima pemberitahuan saat daftar antarmuka lokal untuk keluarga protokol soket berubah. Nilai ini sama dengan konstanta Winsock 2 SIO_ADDRESS_LIST_CHANGE. |
AddressListQuery | 1207959574 | Mengembalikan daftar antarmuka lokal yang dapat diikat soket. Nilai ini sama dengan konstanta Winsock 2 SIO_ADDRESS_LIST_QUERY. |
AddressListSort | 3355443225 | Urutkan struktur yang dikembalikan oleh AddressListQuery bidang dan tambahkan informasi ID cakupan untuk alamat IPv6. Kode kontrol ini didukung pada Windows XP dan sistem operasi yang lebih baru. Nilai ini sama dengan konstanta Winsock 2 SIO_ADDRESS_LIST_SORT. |
AssociateHandle | 2281701377 | Kaitkan soket ini dengan handel yang ditentukan dari antarmuka pendamping. Lihat lampiran khusus protokol yang sesuai dalam referensi winsock 2 atau dokumentasi untuk antarmuka pendamping tertentu untuk detail tambahan. Disarankan agar Model Objek Komponen (COM) digunakan alih-alih IOCTL ini untuk menemukan dan melacak antarmuka lain yang mungkin didukung oleh soket. Kode kontrol ini ada untuk kompatibilitas mundur dengan sistem di mana COM tidak tersedia atau tidak dapat digunakan karena alasan lain. Nilai ini sama dengan konstanta Winsock 2 SIO_ASSOCIATE_HANDLE. |
AsyncIO | 2147772029 | Aktifkan pemberitahuan saat data menunggu untuk diterima. Nilai ini sama dengan konstanta Winsock 2 FIOASYNC. |
BindToInterface | 2550136840 | Ikat soket ke indeks antarmuka tertentu. Nilai ini sama dengan konstanta Winsock 2 SIO_INDEX_BIND. |
DataToRead | 1074030207 | Mengembalikan jumlah byte yang tersedia untuk dibaca. Nilai ini sama dengan konstanta Winsock 2 FIONREAD. |
DeleteMulticastGroupFromInterface | 2550136843 | Hapus soket dari grup multicast. Nilai ini sama dengan konstanta Winsock 2 SIO_INDEX_ADD_MCAST. |
EnableCircularQueuing | 671088642 | Ganti datagram antrean terlama dengan datagram masuk saat antrean pesan masuk penuh. Nilai ini sama dengan konstanta Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
Flush | 671088644 | Buang isi antrean pengiriman. Nilai ini sama dengan konstanta Winsock 2 SIO_FLUSH. |
GetBroadcastAddress | 1207959557 | Mengembalikan struktur SOCKADDR yang berisi alamat siaran untuk keluarga alamat soket saat ini. Alamat yang dikembalikan dapat digunakan dengan SendTo metode . Nilai ini sama dengan konstanta Winsock 2 SIO_GET_BROADCAST_ADDRESS. Nilai ini hanya dapat digunakan pada soket Protokol Datagram Pengguna (UDP). |
GetExtensionFunctionPointer | 3355443206 | Dapatkan fungsi khusus penyedia yang bukan bagian dari spesifikasi Winsock. Fungsi ditentukan menggunakan GUID yang ditetapkan penyedia. Nilai ini sama dengan konstanta Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
GetGroupQos | 3355443208 | Mengembalikan atribut Quality of Service (QOS) untuk grup soket. Nilai ini disediakan untuk digunakan di masa mendatang, dan sama dengan konstanta Winsock 2 SIO_GET_GROUP_QOS. |
GetQos | 3355443207 | Ambil struktur QOS yang terkait dengan soket. Nilai ini sama dengan konstanta Winsock 2 SIO_GET_QOS. |
KeepAliveValues | 2550136836 | Kontrol pengiriman paket TCP keep-alive dan interval pengirimannya. Untuk informasi tambahan, lihat RFC 1122 bagian 4.2.3.6. Nilai ini sama dengan konstanta Winsock 2 SIO_KEEPALIVE_VALS. |
LimitBroadcasts | 2550136839 | Nilai ini sama dengan konstanta Winsock 2 SIO_LIMIT_BROADCASTS. |
MulticastInterface | 2550136841 | Atur antarmuka yang digunakan untuk paket multicast keluar. Antarmuka diidentifikasi oleh indeksnya. Nilai ini sama dengan konstanta Winsock 2 SIO_INDEX_MCASTIF. |
MulticastScope | 2281701386 | Mengontrol berapa kali paket multicast dapat diteruskan oleh router, juga dikenal sebagai Time to Live (TTL), atau jumlah hop. Nilai ini sama dengan konstanta Winsock 2 SIO_MULTICAST_SCOPE. |
MultipointLoopback | 2281701385 | Mengontrol apakah data multicast yang dikirim oleh soket muncul sebagai data masuk di soket yang menerima antrean. Nilai ini sama dengan konstanta Winsock 2 SIO_MULTIPOINT_LOOPBACK. |
NamespaceChange | 2281701401 | Mengontrol apakah soket menerima pemberitahuan saat kueri namespace menjadi tidak valid. Kode kontrol ini didukung pada Windows XP dan sistem operasi yang lebih baru. Nilai ini sama dengan konstanta Winsock 2 SIO_NSP_NOTIFY_CHANGE. |
NonBlockingIO | 2147772030 | Mengontrol perilaku pemblokiran soket. Jika argumen yang ditentukan dengan kode kontrol ini adalah nol, soket ditempatkan dalam mode pemblokiran. Jika argumen bukan nol, soket ditempatkan dalam mode nonblocking. Nilai ini sama dengan konstanta Winsock 2 FIONBIO. |
OobDataRead | 1074033415 | Mengembalikan informasi tentang data di luar band yang menunggu untuk diterima. Saat menggunakan kode kontrol ini pada soket aliran, nilai yang dikembalikan menunjukkan jumlah byte yang tersedia. |
QueryTargetPnpHandle | 1207959576 | Ambil handel SOCKET penyedia yang mendasar. Handel ini dapat digunakan untuk menerima pemberitahuan peristiwa plug-and-play. Nilai ini sama dengan konstanta Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
ReceiveAll | 2550136833 | Aktifkan menerima semua paket IPv4 di jaringan. Soket harus memiliki keluarga InterNetworkalamat , jenis soket harus Raw, dan jenis protokol harus IP. Pengguna saat ini harus termasuk dalam grup Administrator di komputer lokal, dan soket harus terikat ke port tertentu. Nilai ini sama dengan konstanta Winsock 2 SIO_RCVALL. |
ReceiveAllIgmpMulticast | 2550136835 | Aktifkan menerima semua paket Internet Group Management Protocol (IGMP) pada jaringan. Soket harus memiliki keluarga InterNetworkalamat , jenis soket harus Raw, dan jenis protokol harus Igmp. Pengguna saat ini harus termasuk dalam grup Administrator di komputer lokal, dan soket harus terikat ke port tertentu. Nilai ini sama dengan konstanta Winsock 2 SIO_RCVALL_IGMPMCAST. |
ReceiveAllMulticast | 2550136834 | Aktifkan menerima semua paket IPv4 multicast di jaringan. Ini adalah paket dengan alamat tujuan dalam rentang 224.0.0.0 hingga 239.255.255.255. Soket harus memiliki keluarga InterNetworkalamat , jenis soket harus Raw, dan jenis protokol harus Udp. Pengguna saat ini harus termasuk dalam grup Administrator di komputer lokal, dan soket harus terikat ke port tertentu. Nilai ini sama dengan konstanta Winsock 2 SIO_RCVALL_MCAST. |
RoutingInterfaceChange | 2281701397 | Aktifkan penerimaan pemberitahuan saat antarmuka lokal yang digunakan untuk mengakses titik akhir jarak jauh berubah. Nilai ini sama dengan konstanta Winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
RoutingInterfaceQuery | 3355443220 | Mengembalikan alamat antarmuka yang dapat digunakan untuk menyambungkan ke alamat jarak jauh yang ditentukan. Nilai ini sama dengan konstanta Winsock 2 SIO_ROUTING_INTERFACE_QUERY. |
SetGroupQos | 2281701388 | Atur atribut Quality of Service (QOS) untuk grup soket. Nilai ini dicadangkan untuk digunakan di masa mendatang dan sama dengan konstanta Winsock 2 SIO_SET_GROUP_QOS. |
SetQos | 2281701387 | Atur atribut Quality of Service (QOS) untuk soket. QOS menentukan persyaratan bandwidth untuk soket. Nilai ini sama dengan konstanta Winsock 2 SIO_SET_QOS. |
TranslateHandle | 3355443213 | Mengembalikan handel untuk soket yang valid dalam konteks antarmuka pendamping. Nilai ini sama dengan konstanta Winsock 2 SIO_TRANSLATE_HANDLE. |
UnicastInterface | 2550136838 | Atur antarmuka yang digunakan untuk paket unicast keluar. Nilai ini sama dengan konstanta Winsock 2 SIO_UCAST_IF. |
Contoh
Contoh kode berikut memanggil IOControl(IOControlCode, Byte[], Byte[]) metode dengan nilai parameter DataToRead dan membandingkan hasilnya dengan mengakses properti .Available
void DisplayPendingByteCount( Socket^ s )
{
array<Byte>^ outValue = BitConverter::GetBytes( 0 );
// Check how many bytes have been received.
s->IOControl( IOControlCode::DataToRead, nullptr, outValue );
UInt32 bytesAvailable = BitConverter::ToUInt32( outValue, 0 );
Console::Write( "server has {0} bytes pending,",
bytesAvailable );
Console::WriteLine( "Available property says {1}.",
s->Available );
return;
}
static void DisplayPendingByteCount(Socket s)
{
byte[] outValue = BitConverter.GetBytes(0);
// Check how many bytes have been received.
s.IOControl(IOControlCode.DataToRead, null, outValue);
uint bytesAvailable = BitConverter.ToUInt32(outValue, 0);
Console.Write("server has {0} bytes pending. ",
bytesAvailable);
Console.WriteLine("Available property says {1}.",
s.Available);
return;
}
Keterangan
IOControlCode Enumerasi menyediakan nilai bernama untuk menentukan mode operasional soket. Nilai-nilai ini adalah kode kontrol yang diteruskan ke fungsi Windows Sockets 2 (Winsock 2). WSAIoctl