UnsafeQueueNativeOverlapped Method

ThreadPool.UnsafeQueueNativeOverlapped Method (NativeOverlapped*)


Queues an overlapped I/O operation for execution.

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
© 2015 Microsoft