PFN_WSK_GET_REMOTE_ADDRESS回呼函式 (wsk.h)
WskGetRemoteAddress 函式會擷取連線導向或數據流套接字的遠端傳輸位址。
PFN_WSK_GET_REMOTE_ADDRESS PfnWskGetRemoteAddress;
NTSTATUS PfnWskGetRemoteAddress(
[in] PWSK_SOCKET Socket,
[out] PSOCKADDR RemoteAddress,
[in, out] PIRP Irp
)
{...}
[in] Socket
WSK_SOCKET 結構的指標,指定正在查詢之套接字的套接字物件。
[out] RemoteAddress
接收套接字遠端傳輸位址之呼叫端配置的緩衝區指標。 緩衝區必須位於非分頁記憶體中。 緩衝區也必須夠大,才能包含對應至 WSK 應用程式在建立套接字時所指定的位址系列的特定 SOCKADDR 結構類型。
對於 WSK 應用程式在接聽套接字上接受的連接導向套接字,位址系列與建立接聽套接字時所指定的 WSK 應用程式位址系列相同。
[in, out] Irp
WSK 子系統用來異步完成擷取作業的呼叫端配置 IRP 指標。 如需搭配 WSK 函式使用 IRP 的詳細資訊,請參閱 搭配 Winsock 核心函式使用 IRP。
WskGetRemoteAddress 會傳回下列其中一個 NTSTATUS 程式代碼:
傳回碼 | 描述 |
---|---|
|
已成功擷取套接字的遠端傳輸位址。 IRP 將會以成功狀態完成。 |
|
WSK 子系統無法立即擷取套接字的遠端傳輸位址。 WSK 子系統會在擷取套接字的遠端傳輸地址之後完成 IRP。 擷取作業的狀態將會在 IRP 的 IoStatus.Status 字段中傳回。 |
|
套接字未連線到遠端傳輸位址。 IRP 將會以失敗狀態完成。 |
|
套接字已不再運作。 IRP 將會以失敗狀態完成。 WSK 應用程式必須呼叫 WskCloseSocket 函式,以儘快關閉套接字。 |
|
發生錯誤。 IRP 將會以失敗狀態完成。 |
WSK 應用程式只能在已連線到遠端傳輸地址的連線導向或數據流套接字上呼叫 WskGetRemoteAddress 函式。 串流套接字會呼叫 WskConnect 函式,聯機到遠端傳輸位址。 線上導向套接字會透過下列其中一種方式連接到遠端傳輸位址:
- WSK 應用程式會呼叫 WskConnect 函式。
- WSK 應用程式會呼叫 WskSocketConnect 函式來建立、系結及連接套接字。
- 當 WSK 應用程式接受接聽套接字上的連入連線要求時,WSK 子系統會連接套接字。
要求 | 價值 |
---|---|
最低支援的用戶端 | 可在 Windows Vista 和更新版本的 Windows作系統中使用。 |
目標平臺 | 普遍 |
標頭 | wsk.h (包括 Wsk.h) |
IRQL | <= DISPATCH_LEVEL |