IOControlCode 열거형

정의

IOControl(Int32, Byte[], Byte[]) 메서드에서 지원되는 IO 컨트롤 코드를 지정합니다.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
상속
IOControlCode

필드

AbsorbRouterAlert 2550136837

이 값은 Winsock 2 SIO_ABSORB_RTRALERT 상수와 같습니다.

AddMulticastGroupOnInterface 2550136842

인덱스로 식별된 인터페이스를 사용하여 멀티캐스트 그룹을 추가합니다. 이 값은 Winsock 2 SIO_INDEX_ADD_MCAST 상수와 같습니다.

AddressListChange 671088663

소켓의 프로토콜 패밀리에 대한 로컬 인터페이스 목록이 변경될 때 알림을 받을 수 있도록 설정합니다. 이 값은 Winsock 2 SIO_ADDRESS_LIST_CHANGE 상수와 같습니다.

AddressListQuery 1207959574

소켓이 바인딩될 수 있는 로컬 인터페이스의 목록을 반환합니다. 이 값은 Winsock 2 SIO_ADDRESS_LIST_QUERY 상수와 같습니다.

AddressListSort 3355443225

AddressListQuery 필드에서 반환되는 구조체를 정렬하고 IPv6 주소에 대한 범위 ID 정보를 추가합니다. 이 컨트롤 코드는 Windows XP 이상의 운영 체제에서 지원합니다. 이 값은 Winsock 2 SIO_ADDRESS_LIST_SORT 상수와 같습니다.

AssociateHandle 2281701377

이 소켓을 관련 인터페이스의 지정된 핸들과 연결합니다. 자세한 내용은 특정 관련 인터페이스에 대한 Winsock 2 참조 또는 설명서에서 해당 프로토콜 관련 부록을 참조하십시오. 소켓에서 지원할 수 있는 다른 인터페이스를 검색하고 추적하려면 이 IOCTL 대신 COM(Component Object Model)을 사용하는 것이 좋습니다. 이 컨트롤 코드는 COM이 사용되지 않거나 다른 이유로 COM을 사용할 수 없는 이전 버전 시스템과의 호환성을 위해 제공됩니다. 이 값은 Winsock 2 SIO_ASSOCIATE_HANDLE 상수와 같습니다.

AsyncIO 2147772029

데이터가 수신 대기 중일 때 알림을 사용합니다. 이 값은 Winsock 2 FIOASYNC 상수와 같습니다.

BindToInterface 2550136840

소켓을 지정된 인터페이스 인덱스에 바인딩합니다. 이 값은 Winsock 2 SIO_INDEX_BIND 상수와 같습니다.

DataToRead 1074030207

읽을 수 있는 바이트 수를 반환합니다. 이 값은 Winsock 2 FIONREAD 상수와 같습니다.

DeleteMulticastGroupFromInterface 2550136843

멀티캐스트 그룹에서 소켓을 제거합니다. 이 값은 Winsock 2 SIO_INDEX_ADD_MCAST 상수와 같습니다.

EnableCircularQueuing 671088642

들어오는 메시지 큐가 가득 차면 큐에 있는 가장 오래된 데이터그램을 들어오는 데이터그램으로 바꿉니다. 이 값은 Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING 상수와 같습니다.

Flush 671088644

보내는 큐의 내용을 삭제합니다. 이 값은 Winsock 2 SIO_FLUSH 상수와 같습니다.

GetBroadcastAddress 1207959557

현재 소켓의 주소 패밀리에 대한 브로드캐스트 주소가 들어 있는 SOCKADDR 구조체를 반환합니다. 반환된 주소는 SendTo 메서드와 함께 사용할 수 있습니다. 이 값은 Winsock 2 SIO_GET_BROADCAST_ADDRESS 상수와 같습니다. 이 값은 UDP(User Datagram Protocol) 소켓에서만 사용할 수 있습니다.

GetExtensionFunctionPointer 3355443206

Winsock 사양에 포함되지 않은 공급자별 함수를 가져옵니다. 함수는 해당 공급자에 할당된 GUID를 사용하여 지정됩니다. 이 값은 Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER 상수와 같습니다.

GetGroupQos 3355443208

소켓 그룹의 QOS(서비스 품질) 특성을 반환합니다. 이 값은 나중에 사용할 수 있도록 예약되어 있으며 Winsock 2 SIO_GET_GROUP_QOS 상수와 같습니다.

GetQos 3355443207

소켓과 관련된 QOS 구조체를 검색합니다. 이 값은 Winsock 2 SIO_GET_QOS 상수와 같습니다.

KeepAliveValues 2550136836

TCP Keep-alive 패킷 보내기와 이 패킷을 보낼 간격을 제어합니다. 자세한 내용은 RFC 1122 4.2.3.6절을 참조하십시오. 이 값은 Winsock 2 SIO_KEEPALIVE_VALS 상수와 같습니다.

LimitBroadcasts 2550136839

이 값은 Winsock 2 SIO_LIMIT_BROADCASTS 상수와 같습니다.

MulticastInterface 2550136841

나가는 멀티캐스트 패킷에 사용되는 인터페이스를 설정합니다. 이 인터페이스는 인덱스로 식별됩니다. 이 값은 Winsock 2 SIO_INDEX_MCASTIF 상수와 같습니다.

MulticastScope 2281701386

라우터에서 멀티캐스트 패킷을 전달할 수 있는 횟수, 즉 TTL(Time-to-Live) 또는 홉 수를 제어합니다. 이 값은 Winsock 2 SIO_MULTICAST_SCOPE 상수와 같습니다.

MultipointLoopback 2281701385

소켓에서 보낸 멀티캐스트 데이터가 소켓 수신 큐에서 들어오는 데이터로 나타나는지 여부를 제어합니다. 이 값은 Winsock 2 SIO_MULTIPOINT_LOOPBACK 상수와 같습니다.

NamespaceChange 2281701401

네임스페이스 쿼리가 잘못되었을 때 소켓에서 알림을 받을지 여부를 제어합니다. 이 컨트롤 코드는 Windows XP 이상의 운영 체제에서 지원합니다. 이 값은 Winsock 2 SIO_NSP_NOTIFY_CHANGE 상수와 같습니다.

NonBlockingIO 2147772030

소켓의 블로킹 동작을 제어합니다. 이 컨트롤 코드로 지정된 인수가 0이면 소켓이 블로킹 모드로 설정됩니다. 인수가 0이 아니면 소켓이 비블로킹 모드로 설정됩니다. 이 값은 Winsock 2 FIONBIO 상수와 같습니다.

OobDataRead 1074033415

수신 대기 중인 out-of-band 데이터에 대한 정보를 반환합니다. 스트림 소켓에서 이 컨트롤 코드를 사용할 경우 반환 값은 사용 가능한 바이트 수를 나타냅니다.

QueryTargetPnpHandle 1207959576

내부 공급자의 SOCKET 핸들을 검색합니다. 이 핸들은 플러그 앤 플레이 이벤트 알림을 받는 데 사용할 수 있습니다. 이 값은 Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE 상수와 같습니다.

ReceiveAll 2550136833

네트워크에서 모든 IPv4 패킷을 받을 수 있도록 설정합니다. 소켓에는 주소 패밀리 InterNetwork가 있어야 하고, 소켓 형식은 Raw여야 하며, 프로토콜 형식은 IP여야 합니다. 현재 사용자는 로컬 컴퓨터의 관리자 그룹에 속해 있어야 하며 소켓은 특정 포트에 바인딩되어야 합니다. 이 값은 Winsock 2 SIO_RCVALL 상수와 같습니다.

ReceiveAllIgmpMulticast 2550136835

네트워크에서 모든 IGMP(Internet Group Management Protocol) 패킷을 받을 수 있도록 설정합니다. 소켓에는 주소 패밀리 InterNetwork가 있어야 하고, 소켓 형식은 Raw여야 하며, 프로토콜 형식은 Igmp여야 합니다. 현재 사용자는 로컬 컴퓨터의 관리자 그룹에 속해 있어야 하며 소켓은 특정 포트에 바인딩되어야 합니다. 이 값은 Winsock 2 SIO_RCVALL_IGMPMCAST 상수와 같습니다.

ReceiveAllMulticast 2550136834

네트워크에서 모든 멀티캐스트 IPv4 패킷을 받을 수 있도록 설정합니다. 멀티캐스트 패킷은 대상 주소 범위가 224.0.0.0부터 239.255.255.255까지인 패킷입니다. 소켓에는 주소 패밀리 InterNetwork가 있어야 하고, 소켓 형식은 Raw여야 하며, 프로토콜 형식은 Udp여야 합니다. 현재 사용자는 로컬 컴퓨터의 관리자 그룹에 속해 있어야 하며 소켓은 특정 포트에 바인딩되어야 합니다. 이 값은 Winsock 2 SIO_RCVALL_MCAST 상수와 같습니다.

RoutingInterfaceChange 2281701397

원격 엔드포인트에 액세스하는 데 사용되는 로컬 인터페이스가 변경될 때 알림을 받을 수 있도록 설정합니다. 이 값은 Winsock 2 SIO_ROUTING_INTERFACE_CHANGE 상수와 같습니다.

RoutingInterfaceQuery 3355443220

지정된 원격 주소에 연결하는 데 사용할 수 있는 인터페이스 주소를 반환합니다. 이 값은 Winsock 2 SIO_ROUTING_INTERFACE_QUERY 상수와 같습니다.

SetGroupQos 2281701388

소켓 그룹의 QOS(서비스 품질) 특성을 설정합니다. 이 값은 나중에 사용할 수 있도록 예약되어 있으며 Winsock 2 SIO_SET_GROUP_QOS 상수와 같습니다.

SetQos 2281701387

소켓의 QOS(서비스 품질) 특성을 설정합니다. QOS는 소켓에 대한 대역폭 요구 사항을 정의합니다. 이 값은 Winsock 2 SIO_SET_QOS 상수와 같습니다.

TranslateHandle 3355443213

관련 인터페이스의 컨텍스트에서 유효한 소켓의 핸들을 반환합니다. 이 값은 Winsock 2 SIO_TRANSLATE_HANDLE 상수와 같습니다.

UnicastInterface 2550136838

나가는 유니캐스트 패킷에 사용되는 인터페이스를 설정합니다. 이 값은 Winsock 2 SIO_UCAST_IF 상수와 같습니다.

예제

다음 코드 예제에서는 DataToRead 매개 변수 값으로 메서드를 호출 IOControl(IOControlCode, Byte[], Byte[]) 하고 결과를 액세스와 비교합니다.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;
}

설명

열거형은 IOControlCode 소켓 작동 모드를 지정하기 위한 명명된 값을 제공합니다. 이러한 값은 Windows Sockets 2(Winsock 2) WSAIoctl 함수에 전달되는 제어 코드입니다.

적용 대상