ThreadPool.UnsafeQueueNativeOverlapped Method (NativeOverlapped*)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Queues an overlapped I/O operation for execution.

This API is not CLS-compliant.

Namespace:   System.Threading
Assembly:  mscorlib (in mscorlib.dll)

public static unsafe bool UnsafeQueueNativeOverlapped(
	NativeOverlapped* overlapped


Type: System.Threading.NativeOverlapped*

The NativeOverlapped structure to queue.

Return Value

Type: System.Boolean

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

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.


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.


Requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

.NET Framework
Available since 2.0
Available since 3.0
Return to top