WSAPOLLFD 構造体 (winsock2.h)

WSAPOLLFD 構造体は、WSAPoll 関数で使用されるソケット情報を格納します。

構文

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

メンバー

fd

種類: SOCKET

状態を検索するソケットの識別子。 負の値に設定されている場合、このパラメーターは無視されます。 「解説」を参照してください。

events

型: short

要求されている状態の種類を示すフラグのセット。 これは、次の 1 つ以上である必要があります。

フラグ 説明
POLLPRI 優先度データは、ブロックせずに読み取られる場合があります。 このフラグは、Microsoft Winsock プロバイダーではサポートされていません。
POLLRDBAND 優先度帯 (帯域外) データは、ブロックせずに読み取ることができます。
POLLRDNORM 通常のデータはブロックせずに読み取ることができます。
POLLWRNORM 通常のデータはブロックせずに書き込むことができます。
 

POLLIN フラグは、 POLLRDNORM フラグ値と POLLRDBAND フラグ値の組み合わせとして定義されます。 POLLOUT フラグは、 POLLWRNORM フラグ値と同じとして定義されます。

revents

型: short

WSAPoll 関数呼び出しから戻ると、状態クエリの結果を示すフラグのセット。 これには、次のフラグを組み合わせて使用できます。

フラグ 説明
POLLERR 問題が発生しました。
POLLHUP ストリーム指向の接続が切断または中止されました。
POLLNVAL 無効なソケットが使用されました。
POLLPRI 優先度データは、ブロックせずに読み取られる場合があります。 このフラグは、Microsoft Winsock プロバイダーからは返されません。
POLLRDBAND 優先度帯 (帯域外) データは、ブロックせずに読み取られる場合があります。
POLLRDNORM 通常のデータはブロックせずに読み取られる場合があります。
POLLWRNORM 通常のデータはブロックせずに書き込まれる場合があります。
 

POLLIN フラグは、 POLLRDNORM フラグ値と POLLRDBAND フラグ値の組み合わせとして定義されます。 POLLOUT フラグは、 POLLWRNORM フラグ値と同じとして定義されます。

状態クエリを満たせず、エラーがないソケットの場合、 revents メンバーは戻り時に 0 に設定されます。

注釈

WSAPOLLFD 構造体は、Windows Vista 以降で定義されています。

WSAPOLLFD 構造体は、1 つ以上のソケットの状態を判別するために WSAPoll 関数によって使用されます。 状態が要求されるソケットのセットは、WSAPOLLFD 構造体の配列である fdarray パラメーターで指定されます。 アプリケーションは、WSAPOLLFD 構造体の events メンバーに適切なフラグを設定して、対応するソケットごとに要求される状態の種類を指定します。 WSAPoll 関数は、WSAPOLLFD 構造体の revents メンバー内のソケットの状態を返します。

WSAPOLLFD 構造体の fd メンバーが負の値に設定されている場合、構造体は WSAPoll 関数呼び出しによって無視され、revents メンバーは戻り時にクリアされます。 これは、WSAPollfdarray パラメーターの固定割り当てを維持するアプリケーションに役立ちます。このようなアプリケーションでは、未使用のエントリやメモリの再割り当てのために、配列の要素を圧縮するリソースを無駄にする必要はありません。 WSAPoll 関数を呼び出す前に、revents メンバーをクリアする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header winsock2.h

こちらもご覧ください

WSAPoll

accept

connect

Recv