IOControlCode 列挙型

定義

IOControl(Int32, Byte[], Byte[]) メソッドでサポートされている I/O 制御コードを指定します。Specifies the IO control codes supported by the IOControl(Int32, Byte[], Byte[]) method.

public enum class IOControlCode
public enum IOControlCode
type IOControlCode = 
Public Enum IOControlCode
継承
IOControlCode

フィールド

AbsorbRouterAlert 2550136837

この値は、Winsock 2 の SIO_ABSORB_RTRALERT 定数に相当します。This value is equal to the Winsock 2 SIO_ABSORB_RTRALERT constant.

AddMulticastGroupOnInterface 2550136842

インデックスで識別されるインターフェイスを使用して、マルチキャスト グループに参加します。Join a multicast group using an interface identified by its index. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_INDEX_ADD_MCAST 定数に相当します。This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

AddressListChange 671088663

ソケットのプロトコル ファミリのローカル インターフェイスのリストが変更されたときの通知の受信を有効にします。Enable receiving notification when the list of local interfaces for the socket's protocol family changes. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_ADDRESS_LIST_CHANGE 定数に相当します。This value is equal to the Winsock 2 SIO_ADDRESS_LIST_CHANGE constant.

AddressListQuery 1207959574

ソケットがバインドできるローカル インターフェイスのリストを返します。Return the list of local interfaces that the socket can bind to. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_ADDRESS_LIST_QUERY 定数に相当します。This value is equal to the Winsock 2 SIO_ADDRESS_LIST_QUERY constant.

AddressListSort 3355443225

AddressListQuery フィールドで返される構造体をソートし、IPv6 アドレスのスコープ ID 情報を追加します。Sort the structure returned by the AddressListQuery field and add scope ID information for IPv6 addresses. この制御コードは、Windows XP 以降のオペレーティング システムでサポートされます。This control code is supported on Windows XP and later operating systems. この値は、Winsock 2 SIO_ADDRESS_LIST_SORT 定数に相当します。This value is equal to the Winsock 2 SIO_ADDRESS_LIST_SORT constant.

AssociateHandle 2281701377

このソケットを、対応するインターフェイスの指定したハンドルに関連付けます。Associate this socket with the specified handle of a companion interface. 詳細については、Winsock 2 リファレンスで適切なプロトコル仕様が記載された付録を参照するか、特定の対応するインターフェイスのドキュメントを参照してください。Refer to the appropriate protocol-specific annex in the Winsock 2 reference or documentation for the particular companion interface for additional details. ソケットでサポートされる他のインターフェイスを検出し、追跡するには、この IOCTL ではなく、コンポーネント オブジェクト モデル (COM: Component Object Model) を使用することをお勧めします。It is recommended that the Component Object Model (COM) be used instead of this IOCTL to discover and track other interfaces that might be supported by a socket. この制御コードは、COM に対応していないシステムや、その他の理由で COM を使用できないシステムの下位互換性を維持するために存在します。This control code is present for backward compatibility with systems where COM is not available or cannot be used for some other reason. この値は、Winsock 2 の SIO_ASSOCIATE_HANDLE 定数に相当します。This value is equal to the Winsock 2 SIO_ASSOCIATE_HANDLE constant.

AsyncIO 2147772029

データが受信を待機しているときの通知を有効にします。Enable notification for when data is waiting to be received. この値は、Winsock 2 の FIOASYNC 定数に相当します。This value is equal to the Winsock 2 FIOASYNC constant.

BindToInterface 2550136840

指定したインターフェイス インデックスにソケットをバインドします。Bind the socket to a specified interface index. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_INDEX_BIND 定数に相当します。This value is equal to the Winsock 2 SIO_INDEX_BIND constant.

DataToRead 1074030207

読み取り可能なバイト数を返します。Return the number of bytes available for reading. この値は、Winsock 2 の FIONREAD 定数に相当します。This value is equal to the Winsock 2 FIONREAD constant.

DeleteMulticastGroupFromInterface 2550136843

マルチキャスト グループからソケットを削除します。Remove the socket from a multicast group. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_INDEX_ADD_MCAST 定数に相当します。This value is equal to the Winsock 2 SIO_INDEX_ADD_MCAST constant.

EnableCircularQueuing 671088642

受信メッセージ キューがフルの場合、キューに格納されている最も古いデータグラムを受信データグラムに置き換えます。Replace the oldest queued datagram with an incoming datagram when the incoming message queues are full. この値は、Winsock 2 の SIO_ENABLE_CIRCULAR_QUEUEING 定数に相当します。This value is equal to the Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING constant.

Flush 671088644

送信キューの内容を破棄します。Discard the contents of the sending queue. この値は、Winsock 2 の SIO_FLUSH 定数に相当します。This value is equal to the Winsock 2 SIO_FLUSH constant.

GetBroadcastAddress 1207959557

現在のソケットのアドレス ファミリのブロードキャスト アドレスが格納された SOCKADDR 構造体を返します。Return a SOCKADDR structure that contains the broadcast address for the address family of the current socket. 返されたアドレスは、SendTo メソッドで使用できます。The returned address can be used with the SendTo method. この値は、Winsock 2 の SIO_GET_BROADCAST_ADDRESS 定数に相当します。This value is equal to the Winsock 2 SIO_GET_BROADCAST_ADDRESS constant. この値は、ユーザー データグラム プロトコル (UDP) のソケットのみで使用できます。This value can be used on User Datagram Protocol (UDP) sockets only.

GetExtensionFunctionPointer 3355443206

Winsock 仕様の一部ではない、プロバイダー固有の関数を取得します。Obtain provider-specific functions that are not part of the Winsock specification. 関数はプロバイダーによって割り当てられた GUID を使用して指定されます。Functions are specified using their provider-assigned GUID. この値は、Winsock 2 の SIO_GET_EXTENSION_FUNCTION_POINTER 定数に相当します。This value is equal to the Winsock 2 SIO_GET_EXTENSION_FUNCTION_POINTER constant.

GetGroupQos 3355443208

ソケット グループの QOS (Quality of Service) 属性を返します。Return the Quality of Service (QOS) attributes for the socket group. この値は、今後使用するために予約されており、Winsock 2 の SIO_GET_GROUP_QOS 定数に相当します。This value is reserved for future use, and is equal to the Winsock 2 SIO_GET_GROUP_QOS constant.

GetQos 3355443207

ソケットに関連付けられた QOS 構造体を取得します。Retrieve the QOS structure associated with the socket. この制御コードは、QOS 対応の伝送機能を提供しているプラットフォーム (Windows Me、Windows 2000、およびそれ以降) でだけサポートされます。この値は、Winsock 2 の SIO_GET_QOS 定数に相当します。This control is only supported on platforms that provide a QOS capable transport (Windows Me, Windows 2000, and later.) This value is equal to the Winsock 2 SIO_GET_QOS constant.

KeepAliveValues 2550136836

TCP Keep-alive パケットの送信とそれらの送信間隔を制御します。Control sending TCP keep-alive packets and the interval at which they are sent. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. 詳細については、RFC 1122 セクション 4.2.3.6 をご覧ください。For additional information, see RFC 1122 section 4.2.3.6. この値は、Winsock 2 の SIO_KEEPALIVE_VALS 定数に相当します。This value is equal to the Winsock 2 SIO_KEEPALIVE_VALS constant.

LimitBroadcasts 2550136839

この値は、Winsock 2 の SIO_LIMIT_BROADCASTS 定数に相当します。This value is equal to the Winsock 2 SIO_LIMIT_BROADCASTS constant.

MulticastInterface 2550136841

発信マルチキャスト パケットで使用するインターフェイスを設定します。Set the interface used for outgoing multicast packets. インターフェイスはインデックスで識別されます。The interface is identified by its index. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_INDEX_MCASTIF 定数に相当します。This value is equal to the Winsock 2 SIO_INDEX_MCASTIF constant.

MulticastScope 2281701386

ルーターがマルチキャスト パケットを転送できる回数 (有効時間 (TTL: Time to Live))、またはホップ数を制御します。Control the number of times a multicast packet can be forwarded by a router, also known as the Time to Live (TTL), or hop count. この値は、Winsock 2 の SIO_MULTICAST_SCOPE 定数に相当します。This value is equal to the Winsock 2 SIO_MULTICAST_SCOPE constant.

MultipointLoopback 2281701385

ソケットによって送信されたマルチキャスト データが、ソケットの受信キューで受信データとして表示されるかどうかを制御します。Control whether multicast data sent by the socket appears as incoming data in the sockets receive queue. この値は、Winsock 2 の SIO_MULTIPOINT_LOOPBACK 定数に相当します。This value is equal to the Winsock 2 SIO_MULTIPOINT_LOOPBACK constant.

NamespaceChange 2281701401

名前空間のクエリが無効になったときの通知を、ソケットが受け取るかどうかを制御します。Control whether the socket receives notification when a namespace query becomes invalid. この制御コードは、Windows XP 以降のオペレーティング システムでサポートされます。This control code is supported on Windows XP and later operating systems. この値は、Winsock 2 の SIO_NSP_NOTIFY_CHANGE 定数に相当します。This value is equal to the Winsock 2 SIO_NSP_NOTIFY_CHANGE constant.

NonBlockingIO 2147772030

ソケットのブロック動作を制御します。Control the blocking behavior of the socket. この制御コードに指定された引数が 0 の場合、ソケットはブロッキング モードに設定されます。If the argument specified with this control code is zero, the socket is placed in blocking mode. 引数が 0 以外の場合、ソケットは非ブロッキング モードに設定されます。If the argument is nonzero, the socket is placed in nonblocking mode. この値は、Winsock 2 の FIONBIO 定数に相当します。This value is equal to the Winsock 2 FIONBIO constant.

OobDataRead 1074033415

受信を待機している帯域外データに関する情報を返します。Return information about out-of-band data waiting to be received. この制御コードをストリーム ソケットで使用した場合、戻り値は受信できるバイト数を示します。When using this control code on stream sockets, the return value indicates the number of bytes available.

QueryTargetPnpHandle 1207959576

基になるプロバイダーの SOCKET ハンドルを取得します。Retrieve the underlying provider's SOCKET handle. このハンドルを使用して、プラグ アンド プレイのイベント通知を受信できます。This handle can be used to receive plug-and-play event notification. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_QUERY_TARGET_PNP_HANDLE 定数に相当します。This value is equal to the Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE constant.

ReceiveAll 2550136833

ネットワーク上のすべての IPv4 パケットの受信を有効にします。Enable receiving all IPv4 packets on the network. ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはIP である必要があります。The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be IP. 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_RCVALL 定数に相当します。This value is equal to the Winsock 2 SIO_RCVALL constant.

ReceiveAllIgmpMulticast 2550136835

ネットワーク上のすべてのインターネット グループ管理プロトコル (IGMP) パケットの受信を有効にします。Enable receiving all Internet Group Management Protocol (IGMP) packets on the network. ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはIgmp である必要があります。The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Igmp. 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_RCVALL_IGMPMCAST 定数に相当します。This value is equal to the Winsock 2 SIO_RCVALL_IGMPMCAST constant.

ReceiveAllMulticast 2550136834

ネットワーク上のすべてのマルチキャスト IPv4 パケットの受信を有効にします。Enable receiving all multicast IPv4 packets on the network. これらは、224.0.0.0 から 239.255.255.255 の範囲の宛先アドレスを持ったパケットです。These are packets with destination addresses in the range 224.0.0.0 through 239.255.255.255. ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはUdp である必要があります。The socket must have address family InterNetwork, the socket type must be Raw, and the protocol type must be Udp. 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。The current user must belong to the Administrators group on the local computer, and the socket must be bound to a specific port. この制御コードは、Windows 2000 以降のオペレーティング システムでサポートされます。This control code is supported on Windows 2000 and later operating systems. この値は、Winsock 2 の SIO_RCVALL_MCAST 定数に相当します。This value is equal to the Winsock 2 SIO_RCVALL_MCAST constant.

RoutingInterfaceChange 2281701397

リモート エンドポイントにアクセスするために使用するローカル インターフェイスが変更されたときの通知の受信を有効にします。Enable receiving notification when the local interface used to access a remote endpoint changes. この値は、Winsock 2 の SIO_ROUTING_INTERFACE_CHANGE 定数に相当します。This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_CHANGE constant.

RoutingInterfaceQuery 3355443220

指定されたリモート アドレスへの接続に使用できるインターフェイスのアドレスを返します。Return the interface addresses that can be used to connect to the specified remote address. この値は、Winsock 2 の SIO_ROUTING_INTERFACE_QUERY 定数に相当します。This value is equal to the Winsock 2 SIO_ROUTING_INTERFACE_QUERY constant.

SetGroupQos 2281701388

ソケット グループの QOS (Quality of Service) 属性を設定します。Set the Quality of Service (QOS) attributes for the socket group. この値は、今後使用するために予約されており、Winsock 2 の SIO_SET_GROUP_QOS 定数に相当します。This value is reserved for future use and is equal to the Winsock 2 SIO_SET_GROUP_QOS constant.

SetQos 2281701387

ソケットの QOS (Quality of Service) 属性を設定します。Set the Quality of Service (QOS) attributes for the socket. QOS は、ソケットの帯域幅の要件を定義します。QOS defines the bandwidth requirements for the socket. この制御コードは、Windows Me、Windows 2000、およびそれ以降のオペレーティング システムでサポートされます。This control code is supported on Windows Me, Windows 2000, and later operating systems. この値は、Winsock 2 の SIO_SET_QOS 定数に相当します。This value is equal to the Winsock 2 SIO_SET_QOS constant.

TranslateHandle 3355443213

対応するインターフェイスのコンテキスト内で有効なソケットのハンドルを返します。Return a handle for the socket that is valid in the context of a companion interface. この値は、Winsock 2 の SIO_TRANSLATE_HANDLE 定数に相当します。This value is equal to the Winsock 2 SIO_TRANSLATE_HANDLE constant.

UnicastInterface 2550136838

発信ユニキャスト パケットで使用するインターフェイスを設定します。Set the interface used for outgoing unicast packets. この値は、Winsock 2 の SIO_UCAST_IF 定数に相当します。This value is equal to the Winsock 2 SIO_UCAST_IF constant.

次のコード例ではIOControl(IOControlCode, Byte[], Byte[]) 、DataToRead パラメーター値を指定してメソッドを呼び出し、その結果をにアクセスして比較します。AvailableThe following code example calls the IOControl(IOControlCode, Byte[], Byte[]) method with a DataToRead parameter value and compares the result with accessing the.Available プロパティを使用する方法を示します。property.

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体は、ソケットの操作モードを指定するための名前付きの値を提供します。The IOControlCode enumeration provides named values for specifying socket operational modes. これらの値は、Windows Sockets 2 (Winsock 2) WSAIoctl関数に渡される制御コードです。These values are the control codes passed to the Windows Sockets 2 (Winsock 2) WSAIoctl function.

適用対象