Udostępnij za pośrednictwem


IOControlCode Wyliczenie

Definicja

Określa kody kontrolek we/wy obsługiwane przez metodę IOControl(Int32, Byte[], Byte[]) .

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
Dziedziczenie
IOControlCode

Pola

AbsorbRouterAlert 2550136837

Ta wartość jest równa stałej Winsock 2 SIO_ABSORB_RTRALERT.

AddMulticastGroupOnInterface 2550136842

Dołącz do grupy multiemisji przy użyciu interfejsu identyfikowanego przez jego indeks. Ta wartość jest równa stałej Winsock 2 SIO_INDEX_ADD_MCAST.

AddressListChange 671088663

Włącz odbieranie powiadomień po zmianie listy interfejsów lokalnych dla rodziny protokołów gniazda. Ta wartość jest równa stałej Winsock 2 SIO_ADDRESS_LIST_CHANGE.

AddressListQuery 1207959574

Zwróć listę interfejsów lokalnych, z którymi gniazdo może być powiązane. Ta wartość jest równa stałej Winsock 2 SIO_ADDRESS_LIST_QUERY.

AddressListSort 3355443225

Posortuj strukturę zwróconą AddressListQuery przez pole i dodaj informacje o identyfikatorze zakresu dla adresów IPv6. Ten kod kontrolny jest obsługiwany w systemach operacyjnych Windows XP i nowszych. Ta wartość jest równa stałej Winsock 2 SIO_ADDRESS_LIST_SORT.

AssociateHandle 2281701377

Skojarz to gniazdo z określonym uchwytem interfejsu towarzyszącego. Aby uzyskać dodatkowe informacje, zapoznaj się z odpowiednim załącznikiem specyficznym dla protokołu w dokumentacji lub dokumentacji dotyczącej konkretnego interfejsu towarzyszącego. Zaleca się, aby model obiektów składników (COM) był używany zamiast tego IOCTL do odnajdywania i śledzenia innych interfejsów, które mogą być obsługiwane przez gniazdo. Ten kod kontrolny jest obecny w celu zapewnienia zgodności z poprzednimi wersjami systemów, w których com jest niedostępny lub nie może być używany z jakiegoś innego powodu. Ta wartość jest równa stałej Winsock 2 SIO_ASSOCIATE_HANDLE.

AsyncIO 2147772029

Włącz powiadomienie, gdy dane oczekują na odebranie. Ta wartość jest równa stałej Winsock 2 FIOASYNC.

BindToInterface 2550136840

Powiąż gniazdo z określonym indeksem interfejsu. Ta wartość jest równa stałej Winsock 2 SIO_INDEX_BIND.

DataToRead 1074030207

Zwróć liczbę bajtów dostępnych do odczytu. Ta wartość jest równa stałej Winsock 2 FIONREAD.

DeleteMulticastGroupFromInterface 2550136843

Usuń gniazdo z grupy multiemisji. Ta wartość jest równa stałej Winsock 2 SIO_INDEX_ADD_MCAST.

EnableCircularQueuing 671088642

Zastąp najstarszy w kolejce datagram przychodzącym datagramem, gdy kolejki komunikatów przychodzących są pełne. Ta wartość jest równa stałej Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING.

Flush 671088644

Odrzuć zawartość kolejki wysyłania. Ta wartość jest równa stałej Winsock 2 SIO_FLUSH.

GetBroadcastAddress 1207959557

Zwróć strukturę SOCKADDR zawierającą adres emisji dla rodziny adresów bieżącego gniazda. Zwrócony adres może być używany z SendTo metodą . Ta wartość jest równa stałej Winsock 2 SIO_GET_BROADCAST_ADDRESS. Tej wartości można używać tylko w gniazdach protokołu UDP (User Datagram Protocol).

GetExtensionFunctionPointer 3355443206

Uzyskaj funkcje specyficzne dla dostawcy, które nie są częścią specyfikacji winsock. Funkcje są określane przy użyciu identyfikatora GUID przypisanego przez dostawcę. Ta wartość jest równa stałej Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER.

GetGroupQos 3355443208

Zwróć atrybuty Quality of Service (QOS) dla grupy gniazd. Ta wartość jest zarezerwowana do użycia w przyszłości i jest równa stałej Winsock 2 SIO_GET_GROUP_QOS.

GetQos 3355443207

Pobierz strukturę QOS skojarzona z gniazdem. Ta wartość jest równa stałej Winsock 2 SIO_GET_QOS.

KeepAliveValues 2550136836

Kontrolowanie wysyłania pakietów utrzymywania aktywności TCP i interwału, w którym są wysyłane. Aby uzyskać dodatkowe informacje, zobacz sekcję RFC 1122 w sekcji 4.2.3.6. Ta wartość jest równa stałej Winsock 2 SIO_KEEPALIVE_VALS.

LimitBroadcasts 2550136839

Ta wartość jest równa stałej Winsock 2 SIO_LIMIT_BROADCASTS.

MulticastInterface 2550136841

Ustaw interfejs używany dla wychodzących pakietów multiemisji. Interfejs jest identyfikowany przez jego indeks. Ta wartość jest równa stałej Winsock 2 SIO_INDEX_MCASTIF.

MulticastScope 2281701386

Kontroluj, ile razy pakiet multiemisji może być przekazywany przez router, znany również jako czas wygaśnięcia (TTL) lub liczba przeskoku. Ta wartość jest równa stałej Winsock 2 SIO_MULTICAST_SCOPE.

MultipointLoopback 2281701385

Określ, czy dane multiemisji wysyłane przez gniazdo są wyświetlane jako dane przychodzące w kolejkach odbieranych przez gniazda. Ta wartość jest równa stałej Winsock 2 SIO_MULTIPOINT_LOOPBACK.

NamespaceChange 2281701401

Określ, czy gniazdo odbiera powiadomienie, gdy zapytanie przestrzeni nazw staje się nieprawidłowe. Ten kod kontrolny jest obsługiwany w systemach operacyjnych Windows XP i nowszych. Ta wartość jest równa stałej Winsock 2 SIO_NSP_NOTIFY_CHANGE.

NonBlockingIO 2147772030

Steruj zachowaniem blokującym gniazda. Jeśli argument określony za pomocą tego kodu sterującego to zero, gniazdo zostanie umieszczone w trybie blokowania. Jeśli argument jest niezerowy, gniazdo jest umieszczone w trybie odblokowywania. Ta wartość jest równa stałej Winsock 2 FIONBIO.

OobDataRead 1074033415

Zwraca informacje o danych poza pasmem oczekujących na odebranie. W przypadku korzystania z tego kodu sterującego w gniazdach strumienia wartość zwracana wskazuje liczbę dostępnych bajtów.

QueryTargetPnpHandle 1207959576

Pobierz uchwyt gniazda dostawcy bazowego. Ten uchwyt może służyć do odbierania powiadomień o zdarzeniach plug-and-play. Ta wartość jest równa stałej Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE.

ReceiveAll 2550136833

Włącz odbieranie wszystkich pakietów IPv4 w sieci. Gniazdo musi mieć rodzinę adresów InterNetwork, typ gniazda musi być Raw, a typ protokołu musi być IP. Bieżący użytkownik musi należeć do grupy Administratorzy na komputerze lokalnym, a gniazdo musi być powiązane z określonym portem. Ta wartość jest równa stałej Winsock 2 SIO_RCVALL.

ReceiveAllIgmpMulticast 2550136835

Włącz odbieranie wszystkich pakietów protokołu IGMP (Internet Group Management Protocol) w sieci. Gniazdo musi mieć rodzinę adresów InterNetwork, typ gniazda musi być Raw, a typ protokołu musi być Igmp. Bieżący użytkownik musi należeć do grupy Administratorzy na komputerze lokalnym, a gniazdo musi być powiązane z określonym portem. Ta wartość jest równa stałej Winsock 2 SIO_RCVALL_IGMPMCAST.

ReceiveAllMulticast 2550136834

Włącz odbieranie wszystkich pakietów multiemisji IPv4 w sieci. Są to pakiety z adresami docelowymi w zakresie 224.0.0.0 do 239.255.255.255.255. Gniazdo musi mieć rodzinę adresów InterNetwork, typ gniazda musi być Raw, a typ protokołu musi być Udp. Bieżący użytkownik musi należeć do grupy Administratorzy na komputerze lokalnym, a gniazdo musi być powiązane z określonym portem. Ta wartość jest równa stałej Winsock 2 SIO_RCVALL_MCAST.

RoutingInterfaceChange 2281701397

Włącz odbieranie powiadomień, gdy interfejs lokalny używany do uzyskiwania dostępu do zdalnego punktu końcowego ulegnie zmianie. Ta wartość jest równa stałej Winsock 2 SIO_ROUTING_INTERFACE_CHANGE.

RoutingInterfaceQuery 3355443220

Zwróć adresy interfejsu, których można użyć do nawiązania połączenia z określonym adresem zdalnym. Ta wartość jest równa stałej Winsock 2 SIO_ROUTING_INTERFACE_QUERY.

SetGroupQos 2281701388

Ustaw atrybuty quality of Service (QOS) dla grupy gniazd. Ta wartość jest zarezerwowana do użycia w przyszłości i jest równa stałej Winsock 2 SIO_SET_GROUP_QOS.

SetQos 2281701387

Ustaw atrybuty quality of Service (QOS) dla gniazda. QOS definiuje wymagania dotyczące przepustowości gniazda. Ta wartość jest równa stałej Winsock 2 SIO_SET_QOS.

TranslateHandle 3355443213

Zwróć uchwyt gniazda, który jest prawidłowy w kontekście interfejsu towarzyszącego. Ta wartość jest równa stałej Winsock 2 SIO_TRANSLATE_HANDLE.

UnicastInterface 2550136838

Ustaw interfejs używany dla wychodzących pakietów emisji pojedynczej. Ta wartość jest równa stałej Winsock 2 SIO_UCAST_IF.

Przykłady

Poniższy przykład kodu wywołuje metodę IOControl(IOControlCode, Byte[], Byte[]) z wartością parametru DataToRead i porównuje wynik z uzyskaniem dostępu do właściwości.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;
}

Uwagi

Wyliczenie IOControlCode zawiera nazwane wartości do określania trybów operacyjnych gniazd. Te wartości są kodami kontrolnymi przekazywanymi do funkcji Windows Sockets 2 (Winsock 2). WSAIoctl

Dotyczy