IOControlCode Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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