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 參考中的適當通訊協定特定附錄或特定隨附介面的文件,以了解詳細資料。 建議您使用元件物件模型 (Component Object Model,COM),而不要使用這個 IOCTL,探索及追蹤通訊端可能支援的其他介面。 使用這個控制碼,可提供與 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

內送訊息佇列已滿時,以內送資料包 (Datagram) 取代最先加入佇列的資料包。 這個值等於 Winsock 2 SIO_ENABLE_CIRCULAR_QUEUEING 常數。

Flush 671088644

捨棄傳送佇列的內容。 這個值等於 Winsock 2 SIO_FLUSH 常數。

GetBroadcastAddress 1207959557

傳回包含目前通訊端通訊協定家族 (Family) 之廣播位址的 SOCKADDR 結構。 傳回的位址可與 SendTo 方法搭配使用。 這個值等於 Winsock 2 SIO_GET_BROADCAST_ADDRESS 常數。 這個值只可用於使用者資料包通訊協定 (User Datagram Protocol,UDP) 通訊端。

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_GROUP_QOS 常數。

KeepAliveValues 2550136836

控制傳送 TCP 保持活動的封包及其傳送間隔。 如需其他資訊,請參閱 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) 或躍點計數。 這個值等於 Winsock 2 SIO_MULTICAST_SCOPE 常數。

MultipointLoopback 2281701385

控制通訊端傳送的多點傳送資料在通訊端接收佇列中是否顯示為內送資料。 這個值等於 Winsock 2 SIO_MULTIPOINT_LOOPBACK 常數。

NamespaceChange 2281701401

控制命名空間查詢失效時通訊端是否接收到告知。 Windows XP (含) 以後版本的作業系統可以支援這個控制碼。 這個值等於 Winsock 2 SIO_NSP_NOTIFY_CHANGE 常數。

NonBlockingIO 2147772030

控制通訊端的封鎖行為。 如果使用此控制碼指定的引數為零,則通訊端會處於封鎖模式。 如果引數非零,則通訊端會處於未封鎖模式。 這個值等於 Winsock 2 FIONBIO 常數。

OobDataRead 1074033415

傳回等待接收之 Out-of-Band Data 的相關資訊。 在資料流通訊端上使用此控制碼時,傳回值表示可用的位元組數目。

QueryTargetPnpHandle 1207959576

擷取基礎提供者的 SOCKET 控制代碼。 這個控制代碼可用於接收隨插即用事件告知。 這個值等於 Winsock 2 SIO_QUERY_TARGET_PNP_HANDLE 常數。

ReceiveAll 2550136833

啟用網路上所有 IPv4 封包的接收。 通訊端必須擁有通訊協定家族 InterNetwork,通訊端類型必須為 Raw,且通訊協定類型必須為 IP。 目前使用者必須屬於本機電腦上的系統管理員群組,且通訊端必須繫結至特定的連接埠。 這個值等於 Winsock 2 SIO_RCVALL 常數。

ReceiveAllIgmpMulticast 2550136835

啟用網路上所有網際網路群組管理通訊協定 (IGMP) 封包的接收。 通訊端必須擁有通訊協定家族 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 函式的控制程式代碼。

適用於