共用方式為


PROTOCOL_INFOA 結構 (nspapi.h)

PROTOCOL_INFO 結構包含通訊協議的相關信息。

語法

typedef struct _PROTOCOL_INFOA {
  DWORD dwServiceFlags;
  INT   iAddressFamily;
  INT   iMaxSockAddr;
  INT   iMinSockAddr;
  INT   iSocketType;
  INT   iProtocol;
  DWORD dwMessageSize;
  LPSTR lpProtocol;
} PROTOCOL_INFOA, *PPROTOCOL_INFOA, *LPPROTOCOL_INFOA;

成員

dwServiceFlags

類型: DWORD

一組位旗標,指定通訊協定所提供的服務。 可以設定下列一或多個位旗標。

意義
XP_CONNECTIONLESS
如果設定此旗標,通訊協定會提供無連線 (數據報) 服務。 如果此旗標清楚,通訊協定會提供連線導向的數據傳輸。
XP_GUARANTEED_DELIVERY
如果設定此旗標,通訊協議會保證傳送的所有數據都會到達預期的目的地。 如果此旗標清楚,則沒有這類保證。
XP_GUARANTEED_ORDER
如果設定此旗標,通訊協定會保證數據會依傳送的順序抵達。 請注意,這項特性不保證數據傳遞,只保證其順序。 如果此旗標清楚,則不保證傳送的數據順序。
XP_MESSAGE_ORIENTED
如果設定此旗標,通訊協定為訊息導向。 訊息導向通訊協定會接受訊息界限。 如果這個旗標清楚,通訊協定是數據流導向,而且訊息界限的概念無關。
XP_PSEUDO_STREAM
如果設定此旗標,通訊協定是訊息導向通訊協定,會忽略所有接收作業的訊息界限。

當您不想讓通訊協定框架訊息時,這個選擇性功能會很有用。 需要數據流導向特性的應用程式可以開啟具有類型SOCK_STREAM的套接字,以支援這項功能的傳輸通訊協定,不論 iSocketType 的值為何。

XP_GRACEFUL_CLOSE
如果設定此旗標,通訊協定支援雙階段關閉作業,也稱為正常關閉作業。 如果清除此旗標,通訊協定僅支援中止的關閉作業。
XP_EXPEDITED_DATA
如果已設定此旗標,通訊協定支援加速數據,也稱為緊急數據。
XP_CONNECT_DATA
如果已設定此旗標,通訊協定支援連接數據。
XP_DISCONNECT_DATA
如果設定此旗標,通訊協定支援中斷聯機數據。
XP_SUPPORTS_BROADCAST
如果已設定此旗標,通訊協定支援廣播機制。
XP_SUPPORTS_MULTICAST
如果設定此旗標,通訊協議支援多播機制。
XP_BANDWIDTH_ALLOCATION
如果設定此旗標,通訊協定支援配置保證頻寬給應用程式的機制。
XP_FRAGMENTATION
如果已設定此旗標,通訊協定支援訊息片段;實體網路 MTU 會從應用程式隱藏。
XP_ENCRYPTS
如果已設定此旗標,通訊協定支持數據加密。

iAddressFamily

類型: INT

呼叫套接字函式以開啟通訊協定的套接字時,要傳遞為 af 參數的值。 此位址系列值會唯一定義通訊協定地址的結構,也稱為通訊協定所使用的 sockaddr 結構。

iMaxSockAddr

類型: INT

通訊協定所支援的套接字位址長度上限,以位元組為單位。

iMinSockAddr

類型: INT

通訊協議支援的套接字位址長度下限,以位元組為單位。

iSocketType

類型: INT

呼叫套接字函式以開啟通訊協定的套接字時,傳遞做為類型參數的值。

請注意,如果XP_PSEUDO_STREAM是在 dwServiceFlags 中設定,則不論 iSocketType 的值為何,應用程式都可以將SOCK_STREAM指定為套接字的類型參數。

iProtocol

類型: INT

呼叫套接字函式以開啟通訊協定的套接字時,要傳遞為通訊協定參數的值。

dwMessageSize

類型: DWORD

通訊協議支援的訊息大小上限,以位元組為單位。 這是主機可以傳送或接收之訊息的大小上限。 對於不支援訊息框架的通訊協定,可以傳送至指定位址之訊息的實際大小上限可能小於此值。

定義下列特殊訊息大小值。

意義
0
通訊協議為數據流導向;訊息大小的概念不相關。
0xFFFFFFFF
通訊協定為訊息導向,但沒有訊息大小上限。

lpProtocol

類型: LPTSTR

提供通訊協議名稱之零終止字串的指標;例如,“SPX2”。

備註

注意

nspapi.h 標頭會將PROTOCOL_INFO定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 nspapi.h

另請參閱

EnumProtocols

socket