Socket.DuplicateAndClose(Int32) メソッド

定義

ターゲット プロセスのソケット参照を複製してこのプロセスのソケットを閉じます。Duplicates the socket reference for the target process, and closes the socket for this process.

public:
 System::Net::Sockets::SocketInformation DuplicateAndClose(int targetProcessId);
[System.MonoLimitation("We do not support passing sockets across processes, we merely allow this API to pass the socket across AppDomains")]
public System.Net.Sockets.SocketInformation DuplicateAndClose (int targetProcessId);
member this.DuplicateAndClose : int -> System.Net.Sockets.SocketInformation
Public Function DuplicateAndClose (targetProcessId As Integer) As SocketInformation

パラメーター

targetProcessId
Int32

ソケット参照の複製が作成されるターゲット プロセスの ID。The ID of the target process where a duplicate of the socket reference is created.

戻り値

ターゲット プロセスに渡されるソケット参照。The socket reference to be passed to the target process.

属性
System.MonoLimitationAttribute

例外

targetProcessID が有効なプロセス ID ではありません。targetProcessID is not a valid process id. または-or- ソケット参照の複製に失敗しました。Duplication of the socket reference failed.

注釈

ターゲットプロセスでは、Socket を使用して、重複するソケットインスタンスを作成する必要があります。The target process should use Socket to create the duplicate socket instance.

各呼び出しの引数と同じバイト配列を使用して Socket コンストラクターを複数回呼び出す場合は、基になる同じソケットを持つ複数のマネージ Socket インスタンスを作成します。If you call the Socket constructor multiple times with the same byte array as the argument for each call, you will create multiple managed Socket instances with the same underlying socket. この方法は推奨されません。This practice is strongly discouraged.

ソケットを作成するプロセスで非同期メソッド (BeginReceive または BeginSend) が使用されている場合、プロセスはまず UseOnlyOverlappedIO プロパティを true に設定する必要があります。それ以外の場合、ソケットは作成プロセスの完了ポートにバインドされるため、ターゲットプロセスで ArgumentNullException がスローされる可能性があります。If the process creating the socket uses asynchronous methods (BeginReceive or BeginSend), the process must first set the UseOnlyOverlappedIO property to true; otherwise, the socket is bound to the completion port of the creating process, which may cause an ArgumentNullException to be thrown on the target process.

適用対象