PFN_WSK_BIND コールバック関数 (wsk.h)
WskBind 関数は、ソケットをローカル トランスポート アドレスにバインドします。
構文
PFN_WSK_BIND PfnWskBind;
NTSTATUS PfnWskBind(
[in] PWSK_SOCKET Socket,
[in] PSOCKADDR LocalAddress,
ULONG Flags,
[in, out] PIRP Irp
)
{...}
パラメーター
[in] Socket
バインドされているソケットのソケット オブジェクトを指定する WSK_SOCKET 構造体へのポインター。
[in] LocalAddress
ソケットをバインドするローカル トランスポート アドレスを指定する構造体へのポインター。 このポインターは、WSK アプリケーションがソケットの作成時に指定したアドレス ファミリに対応する特定の SOCKADDR 構造体型へのポインターである必要があります。
Flags
このパラメーターは、システム用に予約されています。 WSK アプリケーションでは、このパラメーターを 0 に設定する必要があります。
[in, out] Irp
WSK サブシステムがバインド操作を非同期的に完了するために使用する呼び出し元によって割り当てられた IRP へのポインター。 WSK 関数で IRP を使用する方法の詳細については、「Winsock カーネル関数での IRP の使用」を参照してください。
戻り値
WskBind は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
|
ソケットがローカル トランスポート アドレスに正常にバインドされました。 IRP は成功状態で完了します。 |
|
WSK サブシステムは、ソケットをすぐにバインドできませんでした。 WSK サブシステムは、ソケットをローカル トランスポート アドレスにバインドした後、IRP を完了します。 バインド操作の状態は、IRP の IoStatus.Status フィールドに返されます。 |
|
ソケットは機能しなくなりました。 IRP は失敗状態で完了します。 WSK アプリケーションは、WskCloseSocket 関数を呼び出して、できるだけ早くソケットを閉じる必要があります。 |
|
エラーが発生しました。 IRP は失敗状態で完了します。 |
備考
リッスン ソケットの場合、WskBind 関数を呼び出すと、指定したローカル トランスポート アドレスで受信接続要求をリッスンするようにソケットが準備されます。 WSK アプリケーションでローカル ワイルドカード アドレスが指定されている場合、ソケットはすべてのローカル トランスポート アドレスで受信接続要求をリッスンします。
データグラム ソケットの場合、WskBind 関数を呼び出すと、指定したローカル トランスポート アドレスでデータグラムを送受信するソケットが準備されます。 WSK アプリケーションでローカル ワイルドカード アドレスが指定されている場合、ソケットはすべてのローカル トランスポート アドレスでデータグラムを受信し、システムのルーティング情報によって決定される適切なローカル トランスポート アドレスからデータグラムを送信します。
接続指向ソケットの場合、WskBind 関数を呼び出すと、指定したローカル トランスポート アドレスにソケットがバインドされます。 wskBind WskConnect 関数を呼び出す前に呼び出す必要があります。 WSK アプリケーションでローカル ワイルドカード アドレスが指定されている場合、アプリケーションが WskConnect を 呼び出してソケットをリモート トランスポート アドレスに接続するときに、ネットワーク スタックはソケットを適切なローカル トランスポート アドレスにバインドします。 このような状況では、ローカル トランスポート アドレスは、システムのルーティング情報によって決定されます。
ストリーム ソケットの場合、WskBind 関数を呼び出すと、指定したローカル トランスポート アドレスにソケットがバインドされます。 WSK アプリケーションでローカル ワイルドカード アドレスが指定されている場合、ネットワーク スタックはソケットを使用可能なローカル トランスポート アドレスにバインドします。 WskListen またはWskConnect 関数を呼び出す前に、WskBind を呼び出す必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wsk.h (Wsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
SOCKADDR の
WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCHWskCloseSocket の
WskConnect の
WskSocket の