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 メンバーは戻り時にクリアされます。 これは、WSAPoll の fdarray パラメーターの固定割り当てを維持するアプリケーションに役立ちます。このようなアプリケーションでは、未使用のエントリやメモリの再割り当てのために、配列の要素を圧縮するリソースを無駄にする必要はありません。 WSAPoll 関数を呼び出す前に、revents メンバーをクリアする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
Header | winsock2.h |