WSAPOLLFD 結構 (winsock2.h)

WSAPOLLFD 結構會儲存 WSAPoll 函式所使用的套接字資訊。

語法

typedef struct pollfd {
  SOCKET fd;
  SHORT  events;
  SHORT  revents;
} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD;

成員

fd

類型: SOCKET

要為其尋找狀態之套接字的標識碼。 如果設定為負值,則會忽略此參數。 請參閱<備註>。

events

類型: short

一組旗標,指出所要求的狀態類型。 這必須是下列其中一或多個專案。

旗標 意義
POLLPRI 優先順序數據可能會在不封鎖的情況下讀取。 Microsoft Winsock 提供者不支援此旗標。
POLLRDBAND 可以讀取頻外 (頻外) 數據,而不會封鎖。
POLLRDNORM 一般數據可以在不封鎖的情況下讀取。
POLLWRNORM 一般數據可以在不封鎖的情況下寫入。
 

POLLIN 旗標定義為 POLLRDNORMPOLLRDBAND 旗標值的組合。 POLLOUT 旗標的定義與 POLLWRNORM 旗標值相同。

revents

類型: short

一組旗標,指出從 WSAPoll 函數呼叫傳回時,狀態查詢的結果。 這可以是下列旗標的組合。

旗標 描述
POLLERR 發生錯誤了。
POLLHUP 數據流導向連線已中斷連線或中止。
POLLNVAL 使用了無效的套接字。
POLLPRI 優先順序數據可能會在不封鎖的情況下讀取。 Microsoft Winsock 提供者不會傳回此旗標。
POLLRDBAND 可能會讀取頻外 (頻外) 數據,而不會封鎖。
POLLRDNORM 一般數據可能會在不封鎖的情況下讀取。
POLLWRNORM 一般數據可能會在不封鎖的情況下寫入。
 

POLLIN 旗標定義為 POLLRDNORMPOLLRDBAND 旗標值的組合。 POLLOUT 旗標的定義與 POLLWRNORM 旗標值相同。

對於不符合狀態查詢且沒有錯誤的套接字,傳回時 revents 成員會設定為零。

備註

WSAPOLLFD 結構是在 Windows Vista 和更新版本上定義。

WSAPoll 函式會使用 WSAPOLLFD 結構來判斷一或多個套接字的狀態。 要求狀態的套接字集是在 azurerray 參數中指定,這是 WSAPOLLFD 結構的陣列。 應用程式會在 WSAPOLLFD 結構的事件成員中設定適當的旗標,以指定每個對應套接字所要求的狀態類型。 WSAPoll 函式會傳回 WSAPOLLFD 結構之 revents 成員中的套接字狀態。

如果 WSAPOLLFD 結構的 fd 成員設定為負值,WSAPoll 函數調用會忽略結構,而且傳回時會清除 revents 成員。 這對於維護 WSAPoll 之 wsAPoll參數固定配置的應用程式很有用;這類應用程式不需要浪費資源來壓縮數位的元素,以用於未使用的專案或重新配置記憶體。 呼叫 WSAPoll 函式之前,不需要清除 revents 成員。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 winsock2.h

另請參閱

WSAPoll

接受

connect

recv