IOControlCode Výčet

Definice

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
IOControlCode

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

Platí pro