SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS 制御コード
SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS ソケット I/O 制御操作を使用すると、Winsock クライアントは、最終的な宛先への接続に使用される新しい TCP ソケットへのリダイレクト レコードを指定できます。
WFP リダイレクト レコードは、リダイレクトされた接続と元の接続が論理的に関連するように、WFP が送信プロキシ接続に設定する必要がある不透明なデータのバッファーです。
リダイレクトの詳細については、「バインドまたは接続リダイレクトの使用」を参照してください。
最終的な宛先への接続に使用される新しい TCP ソケットにリダイレクト レコードを設定するために、Winsock クライアントは次のパラメーターを使用して WskControlSocket 関数を呼び出します。
パラメーター | 値 |
---|---|
RequestType |
WskIoctl |
ControlCode |
SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS |
Level |
0 |
InputSize |
InputBuffer パラメーターが指すリダイレクト レコードのサイズ。 |
InputBuffer |
ソケットに関連付けられているリダイレクト レコードへのポインター。 |
OutputSize |
0 |
OutputBuffer |
NULL |
OutputSizeReturned |
NULL |
Irp |
IRP へのポインター。 |
Winsock クライアントは、バッファーを割り当て、バッファーへのポインターとそのサイズを InputBuffer および InputSize で指定する必要があります。
Winsock クライアントは、この種類の要求に対して WskControlSocket 関数を呼び出すときに、IRP へのポインターと完了ルーチンを指定する必要があります。 クライアントは、WSK サブシステムが IRP を完了するまでバッファーを解放しないでください。 IRP が完了すると、サブシステムは完了ルーチンを呼び出します。 完了ルーチンでは、クライアントは IRP の状態をチェックし、以前に要求に割り当てられていたすべてのリソースを解放する必要があります。
注: SIO_SET_WFP_CONNECTION_REDIRECT_RECORDS (SDK) を使用して、ユーザー モード アプリケーションでこのクエリを実行することもできます。
WSK IRP の処理の詳細については、「Winsock カーネル関数での IRP の使用」を参照してください。
クライアントは、Irp->IoStatus.Status をチェックすることによって IRP の状態を取得できます。 要求が成功した場合、 Irp->IoStatus.Status はSTATUS_SUCCESSに設定されます。 それ以外の場合は、STATUS_INTEGER_OVERFLOW が含まれます。呼び出しが成功しなかった場合は STATUS_ACCESS_DENIED されます。
要件
サポートされている最小のクライアント |
Windows 8 |
サポートされている最小のサーバー |
Windows Server 2012 |
ヘッダー |
Mstcpip.h |
IRQL |
PASSIVE_LEVEL |