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

結構的指標,指定要系結套接字的本機傳輸位址。 此指標必須是特定 SOCKADDR 結構類型的指標,其對應至 WSK 應用程式在建立套接字時所指定的位址系列。

Flags

此參數保留給系統使用。 WSK 應用程式必須將此參數設定為零。

[in, out] Irp

WSK 子系統用來以異步方式完成系結作業的呼叫端配置 IRP 指標。 如需搭配 WSK 函式使用 IRP 的詳細資訊,請參閱 搭配 Winsock 核心函式使用 IRP

傳回值

WskBind 會傳回下列其中一個 NTSTATUS 代碼:

傳回碼 Description
STATUS_SUCCESS
套接字已成功系結至本機傳輸位址。 IRP 將會以成功狀態完成。
STATUS_PENDING
WSK 子系統無法立即系結套接字。 WSK 子系統會在將套接字系結至本機傳輸地址之後完成 IRP。 系結作業的狀態將會在 IRP 的 [IoStatus.Status ] 字段中傳回。
STATUS_FILE_FORCED_CLOSED
套接字已不再運作。 IRP 將會以失敗狀態完成。 WSK 應用程式必須呼叫 WskCloseSocket 函式,才能儘快關閉套接字。
其他狀態代碼
發生錯誤。 IRP 將會以失敗狀態完成。

備註

針對接聽套接字,呼叫 WskBind 函式會準備套接字,以接聽指定本機傳輸位址上的連入連線要求。 如果 WSK 應用程式指定本機通配符位址,套接字將會接聽所有本機傳輸位址上的連入連線要求。

針對數據報套接字,呼叫 WskBind 函式會準備套接字,以在指定的本機傳輸位址上傳送和接收數據報。 如果 WSK 應用程式指定本機通配符位址,套接字將會在所有本機傳輸位址上接收數據報,並從系統路由資訊所決定的適當本機傳輸位址傳送數據報。

針對連線導向套接字,呼叫 WskBind 函式會將套接字系結至指定的本機傳輸位址。 呼叫 WskConnect 函式之前,必須先呼叫 WskBind。 如果 WSK 應用程式指定本機通配符位址,當應用程式呼叫 WskConnect 以將套接字連線到遠端傳輸位址時,網路堆疊會將套接字系結至適當的本機傳輸位址。 在這種情況下,本機傳輸位址是由系統的路由資訊所決定。

針對數據流套接字,呼叫 WskBind 函式會將套接字系結至指定的本機傳輸位址。 如果 WSK 應用程式指定本機通配符位址,網路堆疊會將套接字系結至可用的本機傳輸位址。 呼叫 WskListenWskConnect 函式之前,必須先呼叫 WskBind。

規格需求

需求
最低支援的用戶端 可在 Windows Vista 和更新版本的 Windows 作業系統中使用。
目標平台 Universal
標頭 wsk.h (包含 Wsk.h)
IRQL <= DISPATCH_LEVEL

另請參閱

SOCKADDR

WSK_PROVIDER_CONNECTION_DISPATCH WSK_PROVIDER_DATAGRAM_DISPATCH

WSK_PROVIDER_LISTEN_DISPATCH

WSK_PROVIDER_STREAM_DISPATCH

WSK_SOCKET

WskCloseSocket

WskConnect

WskSocket