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 řídicí kódy 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 se ke skupině vícesměrového vysílání pomocí rozhraní určeného jejím 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 řadu protokolů soketů. Tato hodnota se rovná konstantě winsock 2 SIO_ADDRESS_LIST_CHANGE. |
AddressListQuery | 1207959574 | Vrátí seznam místních rozhraní, se kterými 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 ve 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 popisovači doprovodného rozhraní. Další podrobnosti najdete v příslušné příloze specifické pro protokol v referenčních informacích k rozhraní Winsock 2 nebo v dokumentaci pro konkrétní doprovodné rozhraní. Místo této hodnoty IOCTL se doporučuje použít model COM (Component Object Model) ke zjišťování a sledování dalších rozhraní, která můžou být podporována soketem. Tento řídicí kód 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 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ů, které jsou k dispozici 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 | Pokud jsou fronty příchozích zpráv plné, nejstarší datagram ve frontě nahraďte příchozím datagramem. 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ě SIO_FLUSH winsock 2. |
GetBroadcastAddress | 1207959557 | Vrátí strukturu SOCKADDR, která obsahuje adresu všesměrového 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 v soketech protokolu UDP (User Datagram Protocol). |
GetExtensionFunctionPointer | 3355443206 | Získejte funkce specifické pro zprostředkovatele, které nejsou součástí specifikace rozhraní 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 je rovna winsock 2 SIO_GET_GROUP_QOS konstanty. |
GetQos | 3355443207 | Načte strukturu QOS přidruženou k soketu. Tato hodnota se rovná konstantě winsock 2 SIO_GET_QOS. |
KeepAliveValues | 2550136836 | Řídit odesílání paketů TCP keep-alive a interval, ve kterém jsou odesílány. Další informace najdete v dokumentu RFC 1122 v části 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čete, kolikrát může směrovač předat paket vícesměrového vysílání, označovaný také jako hodnota TTL (Time to Live) neboli počet segmentů směrování. Tato hodnota se rovná konstantě winsock 2 SIO_MULTICAST_SCOPE. |
MultipointLoopback | 2281701385 | Určuje, zda se data vícesměrového vysílání odeslaná soketem zobrazí jako příchozí data ve frontě příjmu soketů. Tato hodnota se rovná konstantě winsock 2 SIO_MULTIPOINT_LOOPBACK. |
NamespaceChange | 2281701401 | Určete, jestli soket obdrží oznámení, když se dotaz oboru názvů stane neplatným. Tento řídicí kód je podporován ve Windows XP a novějších operačních systémech. Tato hodnota se rovná konstantě winsock 2 SIO_NSP_NOTIFY_CHANGE. |
NonBlockingIO | 2147772030 | Řídit chování blokování soketu. Pokud je argument zadaný tímto řídicím kódem 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átit informace o datech mimo pásmo, která čekají na přijetí. Při použití tohoto řídicího kódu na sokety streamu vrácené hodnoty označuje počet dostupných bajtů. |
QueryTargetPnpHandle | 1207959576 | Načte popisovač soketu podkladového zprostředkovatele. Tento popisovač se dá použít k příjmu oznámení o události 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 v místním počítači a soket musí být svázán s určitým portem. 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 v místním počítači a soket musí být svázán s určitým portem. 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 v místním počítači a soket musí být svázán s určitým portem. Tato hodnota se rovná konstantě winsock 2 SIO_RCVALL_MCAST. |
RoutingInterfaceChange | 2281701397 | Povolte příjem oznámení, když se změní místní rozhraní použité pro přístup ke vzdálenému koncovému bodu. Tato hodnota se rovná konstantě winsock 2 SIO_ROUTING_INTERFACE_CHANGE. |
RoutingInterfaceQuery | 3355443220 | Vrátí 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 QOS (Quality of Service) pro skupinu soketů. Tato hodnota je vyhrazena pro budoucí použití a je rovna 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 vlastnosti .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;
}
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