次の方法で共有


IOControlCode 列挙型

定義

IOControl(Int32, Byte[], Byte[]) メソッドでサポートされている I/O 制御コードを指定します。

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) のソケットのみで使用できます。

GetExtensionFunctionPointer 3355443206

Winsock 仕様の一部ではない、プロバイダー固有の関数を取得します。 関数はプロバイダーによって割り当てられた GUID を使用して指定されます。 この値は、Winsock 2 の SIO_GET_EXTENSION_FUNCTION_POINTER 定数に相当します。

GetGroupQos 3355443208

ソケット グループの QOS (Quality of Service) 属性を返します。 この値は、今後使用するために予約されており、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

受信を待機している帯域外データに関する情報を返します。 この制御コードをストリーム ソケットで使用した場合、戻り値は受信できるバイト数を示します。

QueryTargetPnpHandle 1207959576

基になるプロバイダーの SOCKET ハンドルを取得します。 このハンドルを使用して、プラグ アンド プレイのイベント通知を受信できます。 この値は、Winsock 2 の SIO_QUERY_TARGET_PNP_HANDLE 定数に相当します。

ReceiveAll 2550136833

ネットワーク上のすべての IPv4 パケットの受信を有効にします。 ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはIP である必要があります。 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。 この値は、Winsock 2 の SIO_RCVALL 定数に相当します。

ReceiveAllIgmpMulticast 2550136835

ネットワーク上のすべてのインターネット グループ管理プロトコル (IGMP) パケットの受信を有効にします。 ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはIgmp である必要があります。 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。 この値は、Winsock 2 の SIO_RCVALL_IGMPMCAST 定数に相当します。

ReceiveAllMulticast 2550136834

ネットワーク上のすべてのマルチキャスト IPv4 パケットの受信を有効にします。 これらは、224.0.0.0 から 239.255.255.255 の範囲の宛先アドレスを持ったパケットです。 ソケットは、アドレス ファミリ InterNetwork を取得している必要があります。また、ソケット タイプは Raw、プロトコル タイプはUdp である必要があります。 現在のユーザーがローカル コンピューターの Administrators グループに属し、ソケットが特定のポートにバインドされている必要があります。 この値は、Winsock 2 の SIO_RCVALL_MCAST 定数に相当します。

RoutingInterfaceChange 2281701397

リモート エンドポイントにアクセスするために使用するローカル インターフェイスが変更されたときの通知の受信を有効にします。 この値は、Winsock 2 の SIO_ROUTING_INTERFACE_CHANGE 定数に相当します。

RoutingInterfaceQuery 3355443220

指定されたリモート アドレスへの接続に使用できるインターフェイスのアドレスを返します。 この値は、Winsock 2 の SIO_ROUTING_INTERFACE_QUERY 定数に相当します。

SetGroupQos 2281701388

ソケット グループの QOS (Quality of Service) 属性を設定します。 この値は、今後使用するために予約されており、Winsock 2 の SIO_SET_GROUP_QOS 定数に相当します。

SetQos 2281701387

ソケットの QOS (Quality of Service) 属性を設定します。 QOS は、ソケットの帯域幅の要件を定義します。 この値は、Winsock 2 の SIO_SET_QOS 定数に相当します。

TranslateHandle 3355443213

対応するインターフェイスのコンテキスト内で有効なソケットのハンドルを返します。 この値は、Winsock 2 の SIO_TRANSLATE_HANDLE 定数に相当します。

UnicastInterface 2550136838

発信ユニキャスト パケットで使用するインターフェイスを設定します。 この値は、Winsock 2 の SIO_UCAST_IF 定数に相当します。

次のコード例では、 IOControl(IOControlCode, Byte[], Byte[]) DataToRead パラメーター値を使用して メソッドを呼び出し、その結果を プロパティ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 関数に渡されるコントロール コードです。

適用対象