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 參考或檔中的適當通訊協定特定附錄或檔。 建議您使用元件物件模型 (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
函式的控制程式代碼。