IOControlCode 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
IOControl(Int32, Byte[], Byte[]) 메서드에서 지원되는 IO 컨트롤 코드를 지정합니다.
public enum class IOControlCode
public enum IOControlCode
type IOControlCode =
Public Enum 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 소켓 2(Winsock 2) WSAIoctl
함수에 전달된 컨트롤 코드입니다.
적용 대상
.NET