1 <?xml version="1.0" encoding="utf-8"?>
4 <name>System.Threading.Overlapped</name>
7 <member name="T:System.Threading.IOCompletionCallback">
8 <summary>Receives the error code, number of bytes, and overlapped value type when an I/O operation completes on the thread pool.</summary>
9 <param name="errorCode">The error code.</param>
10 <param name="numBytes">The number of bytes that are transferred.</param>
11 <param name="pOVERLAP">A <see cref="T:System.Threading.NativeOverlapped" /> representing an unmanaged pointer to the native overlapped value type.</param>
13 <member name="T:System.Threading.NativeOverlapped">
14 <summary>Provides an explicit layout that is visible from unmanaged code and that will have the same layout as the Win32 OVERLAPPED structure with additional reserved fields at the end.</summary>
16 <member name="F:System.Threading.NativeOverlapped.EventHandle">
17 <summary>Specifies the handle to an event set to the signaled state when the operation is complete. The calling process must set this member either to zero or to a valid event handle before calling any overlapped functions.</summary>
19 <member name="F:System.Threading.NativeOverlapped.InternalHigh">
20 <summary>Specifies the length of the data transferred. Reserved for operating system use.</summary>
22 <member name="F:System.Threading.NativeOverlapped.InternalLow">
23 <summary>Specifies a system-dependent status. Reserved for operating system use.</summary>
25 <member name="F:System.Threading.NativeOverlapped.OffsetHigh">
26 <summary>Specifies the high word of the byte offset at which to start the transfer.</summary>
28 <member name="F:System.Threading.NativeOverlapped.OffsetLow">
29 <summary>Specifies a file position at which to start the transfer.</summary>
31 <member name="T:System.Threading.Overlapped">
32 <summary>Provides a managed representation of a Win32 <c>OVERLAPPED</c> structure, including methods to transfer information from an <see cref="T:System.Threading.Overlapped" /> instance to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</summary>
34 <member name="M:System.Threading.Overlapped.#ctor">
35 <summary>Initializes a new, empty instance of the <see cref="T:System.Threading.Overlapped" /> class.</summary>
37 <member name="M:System.Threading.Overlapped.#ctor(System.Int32,System.Int32,System.Int32,System.IAsyncResult)">
38 <summary>Initializes a new instance of the <see cref="T:System.Threading.Overlapped" /> class with the specified file position, the 32-bit integer handle to an event that is signaled when the I/O operation is complete, and an interface through which to return the results of the operation.</summary>
39 <param name="offsetLo">The low word of the file position at which to start the transfer.</param>
40 <param name="offsetHi">The high word of the file position at which to start the transfer.</param>
41 <param name="hEvent">The handle to an event that is signaled when the I/O operation is complete.</param>
42 <param name="ar">An object that implements the <see cref="T:System.IAsyncResult" /> interface and provides status information on the I/O operation.</param>
44 <member name="M:System.Threading.Overlapped.#ctor(System.Int32,System.Int32,System.IntPtr,System.IAsyncResult)">
45 <summary>Initializes a new instance of the <see cref="T:System.Threading.Overlapped" /> class with the specified file position, the handle to an event that is signaled when the I/O operation is complete, and an interface through which to return the results of the operation.</summary>
46 <param name="offsetLo">The low word of the file position at which to start the transfer.</param>
47 <param name="offsetHi">The high word of the file position at which to start the transfer.</param>
48 <param name="hEvent">The handle to an event that is signaled when the I/O operation is complete.</param>
49 <param name="ar">An object that implements the <see cref="T:System.IAsyncResult" /> interface and provides status information on the I/O operation.</param>
51 <member name="P:System.Threading.Overlapped.AsyncResult">
52 <summary>Gets or sets the object that provides status information on the I/O operation.</summary>
53 <returns>An object that implements the <see cref="T:System.IAsyncResult" /> interface.</returns>
55 <member name="P:System.Threading.Overlapped.EventHandle">
56 <summary>Gets or sets the 32-bit integer handle to a synchronization event that is signaled when the I/O operation is complete.</summary>
57 <returns>An <see cref="T:System.Int32" /> value representing the handle of the synchronization event.</returns>
59 <member name="P:System.Threading.Overlapped.EventHandleIntPtr">
60 <summary>Gets or sets the handle to the synchronization event that is signaled when the I/O operation is complete.</summary>
61 <returns>An <see cref="T:System.IntPtr" /> representing the handle of the event.</returns>
63 <member name="M:System.Threading.Overlapped.Free(System.Threading.NativeOverlapped*)">
64 <summary>Frees the unmanaged memory associated with a native overlapped structure allocated by the <see cref="Overload:System.Threading.Overlapped.Pack" /> method.</summary>
65 <param name="nativeOverlappedPtr">A pointer to the <see cref="T:System.Threading.NativeOverlapped" /> structure to be freed.</param>
66 <exception cref="T:System.ArgumentNullException">
67 <paramref name="nativeOverlappedPtr" /> is <see langword="null" />.</exception>
69 <member name="P:System.Threading.Overlapped.OffsetHigh">
70 <summary>Gets or sets the high-order word of the file position at which to start the transfer. The file position is a byte offset from the start of the file.</summary>
71 <returns>An <see cref="T:System.Int32" /> value representing the high word of the file position.</returns>
73 <member name="P:System.Threading.Overlapped.OffsetLow">
74 <summary>Gets or sets the low-order word of the file position at which to start the transfer. The file position is a byte offset from the start of the file.</summary>
75 <returns>An <see cref="T:System.Int32" /> value representing the low word of the file position.</returns>
77 <member name="M:System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback)">
78 <summary>Packs the current instance into a <see cref="T:System.Threading.NativeOverlapped" /> structure, specifying the delegate to be invoked when the asynchronous I/O operation is complete.</summary>
79 <param name="iocb">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when the asynchronous I/O operation completes.</param>
80 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
81 <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
83 <member name="M:System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback,System.Object)">
84 <summary>Packs the current instance into a <see cref="T:System.Threading.NativeOverlapped" /> structure, specifying a delegate that is invoked when the asynchronous I/O operation is complete and a managed object that serves as a buffer.</summary>
85 <param name="iocb">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when the asynchronous I/O operation completes.</param>
86 <param name="userData">An object or array of objects representing the input or output buffer for the operation. Each object represents a buffer, for example an array of bytes.</param>
87 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
88 <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
90 <member name="M:System.Threading.Overlapped.Unpack(System.Threading.NativeOverlapped*)">
91 <summary>Unpacks the specified unmanaged <see cref="T:System.Threading.NativeOverlapped" /> structure into a managed <see cref="T:System.Threading.Overlapped" /> object.</summary>
92 <param name="nativeOverlappedPtr">An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</param>
93 <returns>An <see cref="T:System.Threading.Overlapped" /> object containing the information unpacked from the native structure.</returns>
94 <exception cref="T:System.ArgumentNullException">
95 <paramref name="nativeOverlappedPtr" /> is <see langword="null" />.</exception>
97 <member name="M:System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback)">
98 <summary>Packs the current instance into a <see cref="T:System.Threading.NativeOverlapped" /> structure specifying the delegate to invoke when the asynchronous I/O operation is complete. Does not propagate the calling stack.</summary>
99 <param name="iocb">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when the asynchronous I/O operation completes.</param>
100 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
101 <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
103 <member name="M:System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback,System.Object)">
104 <summary>Packs the current instance into a <see cref="T:System.Threading.NativeOverlapped" /> structure, specifying the delegate to invoke when the asynchronous I/O operation is complete and the managed object that serves as a buffer. Does not propagate the calling stack.</summary>
105 <param name="iocb">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when the asynchronous I/O operation completes.</param>
106 <param name="userData">An object or array of objects representing the input or output buffer for the operation. Each object represents a buffer, for example an array of bytes.</param>
107 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
108 <exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
109 <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> is already packed.</exception>
111 <member name="T:System.Threading.PreAllocatedOverlapped">
112 <summary>Represents pre-allocated state for native overlapped I/O operations.</summary>
114 <member name="M:System.Threading.PreAllocatedOverlapped.#ctor(System.Threading.IOCompletionCallback,System.Object,System.Object)">
115 <summary>Initializes a new instance of the <see cref="T:System.Threading.PreAllocatedOverlapped" /> class and specifies a delegate to invoke when each asynchronous I/O operation is complete, a user-provided object that provides context, and managed objects that serve as buffers.</summary>
116 <param name="callback">A delegate that represents the callback method to invoke when each asynchronous I/O operation completes.</param>
117 <param name="state">A user-supplied object that distinguishes the <see cref="T:System.Threading.NativeOverlapped" /> instance produced from this object from other <see cref="T:System.Threading.NativeOverlapped" /> instances. Its value can be <see langword="null" />.</param>
118 <param name="pinData">An object or array of objects that represent the input or output buffer for the operations. Each object represents a buffer, such as an array of bytes. Its value can be <see langword="null" />.</param>
119 <exception cref="T:System.ArgumentNullException">
120 <paramref name="callback" /> is <see langword="null" />.</exception>
121 <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.</exception>
123 <member name="M:System.Threading.PreAllocatedOverlapped.Dispose">
124 <summary>Frees the resources associated with this <see cref="T:System.Threading.PreAllocatedOverlapped" /> instance.</summary>
126 <member name="M:System.Threading.PreAllocatedOverlapped.Finalize">
127 <summary>Frees unmanaged resources before the current instance is reclaimed by garbage collection.</summary>
129 <member name="T:System.Threading.ThreadPoolBoundHandle">
130 <summary>Represents an I/O handle that is bound to the system thread pool and enables low-level components to receive notifications for asynchronous I/O operations.</summary>
132 <member name="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object)">
133 <summary>Returns an unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure, specifying a delegate that is invoked when the asynchronous I/O operation is complete, a user-provided object that supplies context, and managed objects that serve as buffers.</summary>
134 <param name="callback">A delegate that represents the callback method to invoke when the asynchronous I/O operation completes.</param>
135 <param name="state">A user-provided object that distinguishes this <see cref="T:System.Threading.NativeOverlapped" /> instance from other <see cref="T:System.Threading.NativeOverlapped" /> instances.</param>
136 <param name="pinData">An object or array of objects that represent the input or output buffer for the operation, or <see langword="null" />. Each object represents a buffer, such an array of bytes.</param>
137 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
138 <exception cref="T:System.ArgumentNullException">
139 <paramref name="callback" /> is <see langword="null" />.</exception>
140 <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> object was disposed.</exception>
142 <member name="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.PreAllocatedOverlapped)">
143 <summary>Returns an unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure using the callback state and buffers associated with the specified <see cref="T:System.Threading.PreAllocatedOverlapped" /> object.</summary>
144 <param name="preAllocated">An object from which to create the <see cref="T:System.Threading.NativeOverlapped" /> pointer.</param>
145 <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
146 <exception cref="T:System.ArgumentNullException">
147 <paramref name="preAllocated" /> is <see langword="null" />.</exception>
148 <exception cref="T:System.ArgumentException">
149 <paramref name="preAllocated" /> is currently in use for another I/O operation.</exception>
150 <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.
152 This method was called after <paramref name="preAllocated" /> was disposed.</exception>
154 <member name="M:System.Threading.ThreadPoolBoundHandle.BindHandle(System.Runtime.InteropServices.SafeHandle)">
155 <summary>Returns a <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for the specified handle, which is bound to the system thread pool.</summary>
156 <param name="handle">An object that holds the operating system handle. The handle must have been opened for overlapped I/O in unmanaged code.</param>
157 <returns>A <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for <paramref name="handle" />, which is bound to the system thread pool.</returns>
158 <exception cref="T:System.ArgumentNullException">
159 <paramref name="handle" /> is <see langword="null" />.</exception>
160 <exception cref="T:System.ArgumentException">
161 <paramref name="handle" /> has been disposed.
163 <paramref name="handle" /> does not refer to a valid I/O handle.
165 <paramref name="handle" /> refers to a handle that has not been opened for overlapped I/O.
167 <paramref name="handle" /> refers to a handle that has already been bound.</exception>
169 <member name="M:System.Threading.ThreadPoolBoundHandle.Dispose">
170 <summary>Releases all unmanaged resources used by the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> instance.</summary>
172 <member name="M:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped(System.Threading.NativeOverlapped*)">
173 <summary>Frees the memory associated with a <see cref="T:System.Threading.NativeOverlapped" /> structure allocated by the <see cref="Overload:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped" /> method.</summary>
174 <param name="overlapped">An unmanaged pointer to the <see cref="T:System.Threading.NativeOverlapped" /> structure to be freed.</param>
175 <exception cref="T:System.ArgumentNullException">
176 <paramref name="overlapped" /> is <see langword="null" />.</exception>
177 <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> object was disposed.</exception>
179 <member name="M:System.Threading.ThreadPoolBoundHandle.GetNativeOverlappedState(System.Threading.NativeOverlapped*)">
180 <summary>Returns the user-provided object that was specified when the <see cref="T:System.Threading.NativeOverlapped" /> instance was allocated by calling the <see cref="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object)" /> method.</summary>
181 <param name="overlapped">An unmanaged pointer to the <see cref="T:System.Threading.NativeOverlapped" /> structure from which to return the associated user-provided object.</param>
182 <returns>A user-provided object that distinguishes this <see cref="T:System.Threading.NativeOverlapped" /> instance from other <see cref="T:System.Threading.NativeOverlapped" /> instances, or <see langword="null" /> if one was not specified when the instance was allocated by calling the <see cref="Overload:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped" /> method.</returns>
183 <exception cref="T:System.ArgumentNullException">
184 <paramref name="overlapped" /> is <see langword="null" />.</exception>
186 <member name="P:System.Threading.ThreadPoolBoundHandle.Handle">
187 <summary>Gets the bound operating system handle.</summary>
188 <returns>An object that holds the bound operating system handle.</returns>