Share via


SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS控制項程式碼

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS通訊端 I/O 控制作業可讓 Winsock 用戶端擷取重新導向連線的重新導向記錄。

一個是一種不透明資料的緩衝區,在輸出 Proxy 連線上必須設定一個不透明資料,以便重新導向的連線和原始連接以邏輯方式相關。

注意只有在連線重新導向至FWPS_LAYER_ALE_CONNECT_REDIRECT_V4FWPS_LAYER_ALE_CONNECT_REDIRECT_V6層時,才能使用SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS查詢。

如需重新導向的詳細資訊,請參閱 使用系結或連線重新導向

若要查詢重新導向連線的重新導向記錄,Winsock 用戶端會使用下列參數呼叫 WskControlSocket 函式。

參數

RequestType

WskIoctl

ControlCode

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS

Level

0

InputSize

0

InputBuffer

NULL

OutputSize

OutputBuffer參數所指向緩衝區的大小,以位元組為單位。

OutputBuffer

緩衝區的指標,接收已接受 TCP 連線的重新導向記錄。 緩衝區的大小是在 OutputSize 參數中指定。

OutputSizeReturned

ULONG型別變數的指標,可接收復制到OutputBuffer參數所指向之緩衝區的資料位元組數目。

Irp

IRP 的指標。

呼叫端可以使用下列其中一種方式來執行此查詢:

  • 它可以將 OutputBuffer 設定為大小約 1 KB 的大型緩衝區。 如果輸出緩衝區大小不夠大, WskControlSocket 會傳回 STATUS_BUFFER_TOO_SMALL且 OutputSizeReturned 將包含所需的緩衝區大小。 接著可以配置較大的緩衝區,並再次呼叫 WskControlSocket ,並將 SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS 要求和 OutputBuffer 設定為較大的緩衝區。
  • 或者可以將 OutputSize 參數設定為 0,並將 OutputBuffer 設定為 Null,然後呼叫 WskControlSocket。 完成時, WskControlSocket 函式會擷取 OutputSizeReturned 參數中的輸出緩衝區大小,以位元組為單位。 然後可以配置適當大小的緩衝區,並再次呼叫 WskControlSocket ,並將 SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS 要求和 OutputBuffer 設定為緩衝區。

注意 您也可以使用 SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS (SDK) ,在使用者模式應用程式中執行此查詢。

針對這種類型的要求,Winsock 用戶端必須指定 IRP 的指標,以及其完成常式的指標。 IRP 可由較高的驅動程式傳遞至用戶端,或者用戶端可以選擇配置 IRP。 若要指定完成常式,用戶端必須呼叫 IoSetCompletionRoutine。 如需詳細資訊,請參閱 搭配 Winsock 核心函式使用 IRP

在 WSK 子系統完成 IRP 之前,Winsock 用戶端不得釋放配置的緩衝區。 當 WSK 子系統完成 IRP 時,它會叫用完成常式來通知用戶端。 完成常式 之 CoNtext 參數中的 WSK 子系統會將該緩衝區的參考傳遞給用戶端。 緩衝區的大小會儲存在 Irp-IoStatus.Information > 中

用戶端可以藉由檢查 Irp-IoStatus.Status > 來取得 IRP 的狀態Irp- >如果要求成功,IoStatus.Status 將會設定為 STATUS_SUCCESS 。 否則,如果呼叫失敗,它會包含 STATUS_INTEGER_OVERFLOWSTATUS_NOT_FOUNDSTATUS_BUFFER_TOO_SMALLSTATUS_ACCESS_DENIED

規格需求

最低支援的用戶端

Windows 8

最低支援的伺服器

Windows Server 2012

標頭

Mstcpip.h

IRQL

PASSIVE_LEVEL

另請參閱

使用系結或連線重新導向

搭配 Winsock 核心函式使用 IRP

SIO_QUERY_WFP_CONNECTION_REDIRECT_CONTEXT

SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS (SDK)

SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS