IOControlCode 列挙体とは? わかりやすく解説

IOControlCode 列挙体

メモ : この列挙体は、.NET Framework version 2.0新しく追加されたものです。

IOControl メソッドサポートされている I/O 制御コード指定します

名前空間: System.Net.Sockets
アセンブリ: System (system.dll 内)
構文構文

Dim instance As IOControlCode
public enum IOControlCode : long
public enum class IOControlCode : long long
public enum IOControlCode
public enum IOControlCode
メンバメンバ
 メンバ説明
AbsorbRouterAlertこの値は、Winsock 2 の SIO_ABSORB_RTRALERT 定数相当します。 
AddMulticastGroupOnInterfaceインデックス識別されるインターフェイス使用してマルチキャスト グループ参加します。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_INDEX_ADD_MCAST 定数相当します。 
AddressListChangeソケットプロトコル ファミリローカル インターフェイスリスト変更されたときの通知受信有効にます。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_ADDRESS_LIST_CHANGE 定数相当します。 
AddressListQueryソケットバインドできるローカル インターフェイスリスト返します。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_ADDRESS_LIST_QUERY 定数相当します。 
AddressListSortAddressListQuery フィールド返される構造体ソートし、IPv6 アドレススコープ ID 情報追加します。この制御コードは、Windows XP 以降オペレーティング システムサポートされます。この値は、Winsock 2 SIO_ADDRESS_LIST_SORT 定数相当します。 
AssociateHandleこのソケットを、対応するインターフェイス指定したハンドル関連付けます。詳細については、Winsock 2 リファレンス適切なプロトコル仕様記載され付録参照するか、特定の対応するインターフェイスドキュメント参照してください。この IOCTL代わりにコンポーネント オブジェクト モデル (COM: Component Object Model) を使用してソケットサポートされている可能性がある他のインターフェイス検出トレースを行うことをお勧めます。この制御コードは、COM対応していない、または何らかの理由COM使用できないシステム用の下位互換性維持するために存在します。この値は、Winsock 2 の SIO_ASSOCIATE_HANDLE 定数相当します。  
AsyncIOデータ受信待機しているときの通知有効にます。この値は、Winsock 2 の FIOASYNC 定数相当します。 
BindToInterfaceソケット指定したインターフェイス インデックスバインドます。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_INDEX_BIND 定数相当します。 
DataToRead読み取りができるバイト数を返します。この値は、Winsock 2 の FIONREAD 定数相当します。 
DeleteMulticastGroupFromInterfaceマルチキャスト グループからソケット削除します。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_INDEX_ADD_MCAST 定数相当します。 
EnableCircularQueuing受信メッセージ キュー満杯場合キュー格納されている最も古いデータグラム受信データグラム置き換えます。この値は、Winsock 2 の SIO_ENABLE_CIRCULAR_QUEUEING 定数相当します。 
Flush送信キュー内容破棄します。この値は、Winsock 2 の SIO_FLUSH 定数相当します。 
GetBroadcastAddress現在のソケットアドレス ファミリブロードキャスト アドレス格納している SOCKADDR 構造体返します返されアドレスは、SendTo メソッド使用できます。この値は、Winsock 2 の SIO_GET_BROADCAST_ADDRESS 定数相当します。この値は、ユーザー データグラム プロトコル (UDP: User Datagram Protocol) ソケットでだけ使用できます。 
GetExtensionFunctionPointerWinsock 仕様一部ではないプロバイダ固有の関数取得します関数はそれらのプロバイダによって割り当てられGUID使用して指定されます。この値は、Winsock 2 の SIO_GET_EXTENSION_FUNCTION_POINTER 定数相当します。 
GetGroupQosソケット グループQOS (Quality of Service) 属性返します。この値は、今後使用するために予約されており、Winsock 2 の SIO_GET_GROUP_QOS 定数相当します。  
GetQosソケット関連付けられた QOS 構造体取得します。この制御コードは、QOS 対応の伝送機能提供しているプラットフォーム (Windows MeWindows 2000、およびそれ以降) でだけサポートされます。この値は、Winsock 2 の SIO_GET_QOS 定数相当します。 
KeepAliveValuesTCP Keep-alive パケット送信とそれらの送信間隔制御します。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。追加情報については、RFC 1122 セクション 4.2.3.6 を参照してください。この値は、Winsock 2 の SIO_KEEPALIVE_VALS 定数相当します。 
LimitBroadcastsこの値は、Winsock 2 の SIO_LIMIT_BROADCASTS 定数相当します。 
MulticastInterface発信マルチキャスト パケット使用するインターフェイス設定しますインターフェイスインデックス識別されます。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_INDEX_MCASTIF 定数相当します。 
MulticastScopeルーターマルチキャスト パケット転送できる回数 (有効期間 (TTL: Time to Live))、またはホップ数制御します。この値は、Winsock 2 の SIO_MULTICAST_SCOPE 定数相当します。 
MultipointLoopbackソケットによって送信されマルチキャスト データが、ソケット受信キュー受信データとして表示されるかどうか制御します。この値は、Winsock 2 の SIO_MULTIPOINT_LOOPBACK 定数相当します。 
NamespaceChange名前空間クエリ無効になったときの通知を、ソケット受け取かどうか制御します。この制御コードは、Windows XP 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_NSP_NOTIFY_CHANGE 定数相当します。 
NonBlockingIOソケットブロッキング動作制御します。この制御コード指定され引数が 0 の場合ソケットブロッキング モード設定されます。引数が 0 以外の場合ソケットは非ブロッキング モード設定されます。この値は、Winsock 2 の FIONBIO 定数相当します。 
OobDataRead受信待機している帯域外データに関する情報返します。この制御コードストリーム ソケット使用した場合返される値は受信できるバイト数を示します。 
QueryTargetPnpHandle基になるプロバイダSOCKET ハンドル取得します。このハンドル使用してプラグ アンド プレイイベント通知受信できます。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_QUERY_TARGET_PNP_HANDLE 定数相当します。 
ReceiveAllネットワーク上のすべての IPv4 パケット受信有効にます。ソケットは、アドレス ファミリ InterNetwork を取得している必要がありますまた、ソケット タイプRawプロトコル タイプIP である必要があります現在のユーザーローカル コンピュータ管理者グループ属していて、ソケット特定のポートバインドされている必要があります。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_RCVALL 定数相当します。 
ReceiveAllIgmpMulticastネットワーク上のすべてのインターネット グループ管理プロトコル (IGMP) パケット受信有効にます。ソケットは、アドレス ファミリ InterNetwork取得している必要がありますまた、ソケット タイプRawプロトコル タイプIgmp である必要があります現在のユーザーローカル コンピュータ管理者グループ属していて、ソケット特定のポートバインドされている必要があります。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_RCVALL_IGMPMCAST 定数相当します。 
ReceiveAllMulticastネットワーク上のすべてのマルチキャスト IPv4 パケット受信有効にます。これらは、224.0.0.0 から 239.255.255.255 の範囲終点アドレス持ったパケットです。ソケットは、アドレス ファミリ InterNetwork取得している必要がありますまた、ソケット タイプRawプロトコル タイプUdp である必要があります現在のユーザーローカル コンピュータ管理者グループ属していて、ソケット特定のポートバインドされている必要があります。この制御コードは、Windows 2000 以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_RCVALL_MCAST 定数相当します。 
RoutingInterfaceChangeリモート エンドポイントアクセスするために使用するローカル インターフェイス変更されたときの通知受信有効にます。この値は、Winsock 2 の SIO_ROUTING_INTERFACE_CHANGE 定数相当します。 
RoutingInterfaceQuery指定したリモート アドレス接続するために使用できるインターフェイス アドレス返します。この値は、Winsock 2 の SIO_ROUTING_INTERFACE_QUERY 定数相当します。 
SetGroupQosソケット グループQOS (Quality of Service) 属性設定します。この値は、今後使用するために予約されており、Winsock 2 の SIO_SET_GROUP_QOS 定数相当します。 
SetQosソケットQOS (Quality of Service) 属性設定しますQOS は、ソケット帯域幅要件定義します。この制御コードは、Windows MeWindows 2000、およびそれ以降オペレーティング システムサポートされます。この値は、Winsock 2 の SIO_SET_QOS 定数相当します。 
TranslateHandle対応するインターフェイスコンテキスト内で有効なソケットハンドル返します。この値は、Winsock 2 の SIO_TRANSLATE_HANDLE 定数相当します。 
UnicastInterface発信ユニキャスト パケット使用するインターフェイス設定します。この値は、Winsock 2 の SIO_UCAST_IF 定数相当します。 
解説解説

IOControlCode 列挙体には、ソケット操作モード指定する前付きの値が用意されています。これらの値は、Windows Socket 2 (Winsock 2) WSAIoctl 関数渡される制御コードです。

使用例使用例

DataToRead パラメータ値を使用して IOControl(IOControlCode,Byte[],Byte[]) メソッド呼び出しその結果Available プロパティアクセスした場合比較するコード例次に示します

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;
}
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)
{
    ubyte outValue[] = BitConverter.GetBytes(0);
    // Check how many bytes have been received.
    s.IOControl(IOControlCode.DataToRead, null, outValue);
    UInt32 bytesAvailable = BitConverter.ToUInt32(outValue, 0);
    //ToDo: Unsigned Integers not supported- converted to int
    Console.Write("server has {0} bytes pending. ",
        bytesAvailable.ToString());
    Console.WriteLine("Available property says {1}.", 
        (System.Int32)s.get_Available());
    return;
} //DisplayPendingByteCount
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Net.Sockets 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IOControlCode 列挙体」の関連用語

IOControlCode 列挙体のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IOControlCode 列挙体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS