IOControlCode Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje kódy řízení vstupně-výstupních operací podporovaných metodou IOControl(Int32, Byte[], Byte[]) .
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum IOControlCode
- Dědičnost
Pole
AbsorbRouterAlert | 2550136837 | Tato hodnota se rovná konstantě Winsock 2 SIO_ABSORB_RTRALERT. |
AddMulticastGroupOnInterface | 2550136842 | Připojte skupinu vícesměrového vysílání pomocí rozhraní identifikovaného jeho indexem. Tato hodnota se rovná konstantě Winsock 2 SIO_INDEX_ADD_MCAST. |
AddressListChange | 671088663 | Povolte příjem oznámení, když se změní seznam místních rozhraní pro změnu rodiny protokolů soketu. Tato hodnota se rovná konstantě Winsock 2 SIO_ADDRESS_LIST_CHANGE. |
AddressListQuery | 1207959574 | Vrátí seznam místních rozhraní, ke kterým může soket vytvořit vazbu. Tato hodnota se rovná konstantě Winsock 2 SIO_ADDRESS_LIST_QUERY. |
AddressListSort | 3355443225 | Seřaďte strukturu vrácenou polem AddressListQuery a přidejte informace o ID oboru pro adresy IPv6. Tento řídicí kód je podporován v Windows XP a novějších operačních systémech. Tato hodnota se rovná konstantě Winsock 2 SIO_ADDRESS_LIST_SORT. |
AssociateHandle | 2281701377 | Přidružte tento soket k zadanému úchytu doprovodného rozhraní. Další podrobnosti najdete v příslušné příloze specifické pro protokol v referenčních informacích nebo dokumentaci k rozhraní Winsock 2. Místo této hodnoty IOCTL se doporučuje použít komponentní objektový model (COM) ke zjišťování a sledování dalších rozhraní, která by mohla být podporována soketem. Tento kód ovládacího prvku je k dispozici pro zpětnou kompatibilitu se systémy, kde com není k dispozici nebo nelze použít z nějakého jiného důvodu. Tato hodnota se rovná konstantě Winsock 2 SIO_ASSOCIATE_HANDLE. |
AsyncIO | 2147772029 | Povolte oznámení o tom, kdy se data čekají na přijetí. Tato hodnota se rovná konstantě Winsock 2 FIOASYNC. |
BindToInterface | 2550136840 | Vytvořte vazbu soketu na zadaný index rozhraní. Tato hodnota se rovná konstantě Winsock 2 SIO_INDEX_BIND. |
DataToRead | 1074030207 | Vrátí počet bajtů dostupných pro čtení. Tato hodnota se rovná konstantě Winsock 2 FIONREAD. |
DeleteMulticastGroupFromInterface | 2550136843 | Odeberte soket ze skupiny vícesměrového vysílání. Tato hodnota se rovná konstantě Winsock 2 SIO_INDEX_ADD_MCAST. |
EnableCircularQueuing | 671088642 | Nahraďte nejstarší datagram ve frontě příchozím datovýmgramem, když jsou fronty příchozích zpráv plné. Tato hodnota se rovná konstantě Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING. |
Flush | 671088644 | Zahoďte obsah odesílající fronty. Tato hodnota se rovná konstantě Winsock 2 SIO_FLUSH. |
GetBroadcastAddress | 1207959557 | Vrátí strukturu SOCKADDR, která obsahuje adresu vysílání pro rodinu adres aktuálního soketu. Vrácenou adresu lze použít s metodou SendTo . Tato hodnota se rovná konstantě Winsock 2 SIO_GET_BROADCAST_ADDRESS. Tuto hodnotu lze použít pouze u soketů UDP (User Datagram Protocol). |
GetExtensionFunctionPointer | 3355443206 | Získejte funkce specifické pro poskytovatele, které nejsou součástí specifikace Winsock. Funkce se zadají pomocí identifikátoru GUID přiřazeného poskytovatelem. Tato hodnota se rovná konstantě Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER. |
GetGroupQos | 3355443208 | Vrátí atributy QOS (Quality of Service) pro skupinu soketů. Tato hodnota je vyhrazena pro budoucí použití a rovná se konstantě Winsock 2 SIO_GET_GROUP_QOS. |
GetQos | 3355443207 | Načtěte strukturu QOS přidruženou k soketu. Tato hodnota se rovná konstantě Winsock 2 SIO_GET_QOS. |
KeepAliveValues | 2550136836 | Řízení odesílání paketů TCP keep-alive a intervalu, ve kterém se odesílají. Další informace naleznete v dokumentu RFC 1122 oddíl 4.2.3.6. Tato hodnota se rovná konstantě Winsock 2 SIO_KEEPALIVE_VALS. |
LimitBroadcasts | 2550136839 | Tato hodnota se rovná konstantě Winsock 2 SIO_LIMIT_BROADCASTS. |
MulticastInterface | 2550136841 | Nastavte rozhraní používané pro odchozí pakety vícesměrového vysílání. Rozhraní je identifikováno jeho indexem. Tato hodnota se rovná konstantě Winsock 2 SIO_INDEX_MCASTIF. |
MulticastScope | 2281701386 | Určuje počet přesměrování paketu vícesměrového vysílání směrovačem, označovaného také jako hodnota TTL (Time to Live) nebo počet segmentů směrování. Tato hodnota se rovná konstantě Winsock 2 SIO_MULTICAST_SCOPE. |
MultipointLoopback | 2281701385 | Určuje, jestli se data vícesměrového vysílání odesílaná soketem zobrazí jako příchozí data ve frontě soketů. Tato hodnota se rovná konstantě Winsock 2 SIO_MULTIPOINT_LOOPBACK. |
NamespaceChange | 2281701401 | Určuje, jestli soket obdrží oznámení, když se dotaz oboru názvů stane neplatným. Tento řídicí kód je podporován v Windows XP a novějších operačních systémech. Tato hodnota se rovná konstantě Winsock 2 SIO_NSP_NOTIFY_CHANGE. |
NonBlockingIO | 2147772030 | Řízení chování blokování soketu. Pokud je argument zadaný s tímto kódem ovládacího prvku nula, soket se umístí do režimu blokování. Pokud je argument nenulový, soket se umístí do režimu odblokování. Tato hodnota se rovná konstantě Winsock 2 FIONBIO. |
OobDataRead | 1074033415 | Vrátí informace o odchozích datech čekajících na přijetí. Při použití tohoto řídicího kódu na soketech streamu určuje vrácená hodnota počet dostupných bajtů. |
QueryTargetPnpHandle | 1207959576 | Načtěte popisovač SOCKET příslušného poskytovatele. Tento popisovač lze použít k příjmu oznámení o událostech plug-and-play. Tato hodnota se rovná konstantě Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE. |
ReceiveAll | 2550136833 | Povolte příjem všech paketů IPv4 v síti. Soket musí mít řadu InterNetworkadres , typ soketu musí být Rawa typ protokolu musí být IP. Aktuální uživatel musí patřit do skupiny Administrators na místním počítači a soket musí být vázán na konkrétní port. Tato hodnota se rovná konstantě Winsock 2 SIO_RCVALL. |
ReceiveAllIgmpMulticast | 2550136835 | Povolte příjem všech paketů PROTOKOLU IGMP (Internet Group Management Protocol) v síti. Soket musí mít řadu InterNetworkadres , typ soketu musí být Rawa typ protokolu musí být Igmp. Aktuální uživatel musí patřit do skupiny Administrators na místním počítači a soket musí být vázán na konkrétní port. Tato hodnota se rovná konstantě Winsock 2 SIO_RCVALL_IGMPMCAST. |
ReceiveAllMulticast | 2550136834 | Povolte příjem všech paketů IPv4 vícesměrového vysílání v síti. Jedná se o pakety s cílovými adresami v rozsahu 224.0.0.0 až 239.255.255.255. Soket musí mít řadu InterNetworkadres , typ soketu musí být Rawa typ protokolu musí být Udp. Aktuální uživatel musí patřit do skupiny Administrators na místním počítači a soket musí být vázán na konkrétní port. Tato hodnota se rovná konstantě Winsock 2 SIO_RCVALL_MCAST. |
RoutingInterfaceChange | 2281701397 | Povolte příjem oznámení, když se místní rozhraní používané pro přístup ke vzdálenému koncovému bodu změní. Tato hodnota se rovná konstantě Winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
RoutingInterfaceQuery | 3355443220 | Vraťte adresy rozhraní, které lze použít pro připojení k zadané vzdálené adrese. Tato hodnota se rovná konstantě Winsock 2 SIO_ROUTING_INTERFACE_QUERY. |
SetGroupQos | 2281701388 | Nastavte atributy kvality služby (QOS) pro skupinu soketů. Tato hodnota je vyhrazena pro budoucí použití a rovná se konstantě Winsock 2 SIO_SET_GROUP_QOS. |
SetQos | 2281701387 | Nastavte atributy QOS (Quality of Service) pro soket. QOS definuje požadavky na šířku pásma pro soket. Tato hodnota se rovná konstantě Winsock 2 SIO_SET_QOS. |
TranslateHandle | 3355443213 | Vrátí popisovač soketu, který je platný v kontextu doprovodného rozhraní. Tato hodnota se rovná konstantě Winsock 2 SIO_TRANSLATE_HANDLE. |
UnicastInterface | 2550136838 | Nastavte rozhraní používané pro odchozí pakety jednosměrového vysílání. Tato hodnota se rovná konstantě Winsock 2 SIO_UCAST_IF. |
Příklady
Následující příklad kódu volá metodu IOControl(IOControlCode, Byte[], Byte[]) s hodnotou parametru DataToRead a porovná výsledek s přístupem k tomuto.Available Vlastnost.
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;
}
Poznámky
Výčet IOControlCode poskytuje pojmenované hodnoty pro určení provozních režimů soketů. Tyto hodnoty jsou řídicí kódy předané funkci Windows Sockets 2 (Winsock 2). WSAIoctl