Aracılığıyla paylaş


Socket.DuplicateAndClose(Int32) Yöntem

Tanım

Hedef işlem için yuva başvuruyu çoğaltır ve bu işlem için yuvayı kapatır.

public:
 System::Net::Sockets::SocketInformation DuplicateAndClose(int targetProcessId);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public System.Net.Sockets.SocketInformation DuplicateAndClose (int targetProcessId);
public System.Net.Sockets.SocketInformation DuplicateAndClose (int targetProcessId);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.DuplicateAndClose : int -> System.Net.Sockets.SocketInformation
member this.DuplicateAndClose : int -> System.Net.Sockets.SocketInformation
Public Function DuplicateAndClose (targetProcessId As Integer) As SocketInformation

Parametreler

targetProcessId
Int32

Yuva başvurusunun bir kopyasının oluşturulduğu hedef işlemin kimliği.

Döndürülenler

Hedef işleme geçirilecek yuva başvurusu.

Öznitelikler

Özel durumlar

Herhangi bir işletim sisteminde .NET Core ve yalnızca Unix tabanlı işletim sisteminde .NET 5+ : Geçerli platform desteklenmiyor.

targetProcessID geçerli bir işlem kimliği değil.

-veya-

Yuva başvurusunun çoğaltılama işlemi başarısız oldu.

Açıklamalar

Hedef işlem, yinelenen yuva örneğini Socket(SocketInformation) oluşturmak için oluşturucuyu kullanmalıdır.

Her çağrıdaki Socket(SocketInformation) bağımsız değişkende aynı bayt dizisini kullanarak oluşturucuyu SocketInformation birden çok kez çağırmayın. Bunu yaparsanız, aynı temel yuvaya sahip birden çok yönetilen Socket örneğiniz olur ve bu durum kesinlikle önerilmez.

.NET Framework, yuvayı oluşturan işlem zaman uyumsuz yöntemler kullanıyorsa, işlemin önce özelliğini olarak trueayarlaması UseOnlyOverlappedIO gerekir. Aksi takdirde, zaman uyumsuz yöntem yuvayı oluşturma işleminin G /Ç tamamlama bağlantı noktasına bağlar ve bu da hedef işlemde bir ArgumentNullException oluşturulmasına neden olabilir.

.NET Core 1.0-3.1'de bu yöntem desteklenmiyor.

.NET 5+ üzerinde, DuplicateAndClose(Int32) Windows üzerinde sınırlı desteğe sahiptir. .NET Framework farklı olarak özelliği UseOnlyOverlappedIO bir NOP olduğundan yuvayı oluşturan işlem hiçbir zaman yuvada zaman uyumsuz yöntemleri çağırmamalıdır. Zaman uyumsuz bir işleme yapılan çağrı bunu her zaman oluşturma işleminin G /Ç tamamlama bağlantı noktasına bağlar ve bu da hedef işlemde bir ArgumentNullException oluşturulmasına neden olabilir.

Şunlara uygulanır