ThreadPool.UnsafeQueueNativeOverlapped(NativeOverlapped*) Method

Definition

Important

This API is not CLS-compliant.

Queues an overlapped I/O operation for execution.

[System.CLSCompliant(false)]
public static bool UnsafeQueueNativeOverlapped (System.Threading.NativeOverlapped* overlapped);
[System.CLSCompliant(false)]
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool UnsafeQueueNativeOverlapped (System.Threading.NativeOverlapped* overlapped);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public static bool UnsafeQueueNativeOverlapped (System.Threading.NativeOverlapped* overlapped);

Parameters

overlapped
NativeOverlapped*

The NativeOverlapped structure to queue.

Returns

true if the operation was successfully queued to an I/O completion port; otherwise, false.

Attributes

Remarks

For information about using native Win32 overlapped I/O, see the Overlapped class, the NativeOverlapped structure, and the OVERLAPPED structure in the Win32 Platform SDK.

Cuidado

Using the UnsafeQueueNativeOverlapped method could inadvertently open up a security hole. Code access security bases its permission checks on the permissions of all the callers on the stack. When work is queued on a thread pool thread using UnsafeQueueNativeOverlapped, the stack of the thread pool thread does not have the context of the actual callers. Malicious code might be able exploit this to avoid permission checks.

Applies to

Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1