<param name="hEvent">The handle to an event that is signaled when the I/O operation is complete.</param>
<param name="ar">An object that implements the <see cref="T:System.IAsyncResult" /> interface and provides status information on the I/O operation.</param>
</member>
+ <member name="P:System.Threading.Overlapped.AsyncResult">
+ <summary>Gets or sets the object that provides status information on the I/O operation.</summary>
+ <returns>An object that implements the <see cref="T:System.IAsyncResult" /> interface.</returns>
+ </member>
+ <member name="P:System.Threading.Overlapped.EventHandle">
+ <summary>Gets or sets the 32-bit integer handle to a synchronization event that is signaled when the I/O operation is complete.</summary>
+ <returns>An <see cref="T:System.Int32" /> value representing the handle of the synchronization event.</returns>
+ </member>
+ <member name="P:System.Threading.Overlapped.EventHandleIntPtr">
+ <summary>Gets or sets the handle to the synchronization event that is signaled when the I/O operation is complete.</summary>
+ <returns>An <see cref="T:System.IntPtr" /> representing the handle of the event.</returns>
+ </member>
<member name="M:System.Threading.Overlapped.Free(System.Threading.NativeOverlapped*)">
<summary>Frees the unmanaged memory associated with a native overlapped structure allocated by the <see cref="Overload:System.Threading.Overlapped.Pack" /> method.</summary>
<param name="nativeOverlappedPtr">A pointer to the <see cref="T:System.Threading.NativeOverlapped" /> structure to be freed.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="nativeOverlappedPtr" /> is <see langword="null" />.</exception>
</member>
+ <member name="P:System.Threading.Overlapped.OffsetHigh">
+ <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>
+ <returns>An <see cref="T:System.Int32" /> value representing the high word of the file position.</returns>
+ </member>
+ <member name="P:System.Threading.Overlapped.OffsetLow">
+ <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>
+ <returns>An <see cref="T:System.Int32" /> value representing the low word of the file position.</returns>
+ </member>
<member name="M:System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback)">
<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>
<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>
- <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
<returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
+ <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
</member>
<member name="M:System.Threading.Overlapped.Pack(System.Threading.IOCompletionCallback,System.Object)">
<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>
<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>
<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>
- <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
<returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
+ <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
</member>
<member name="M:System.Threading.Overlapped.Unpack(System.Threading.NativeOverlapped*)">
<summary>Unpacks the specified unmanaged <see cref="T:System.Threading.NativeOverlapped" /> structure into a managed <see cref="T:System.Threading.Overlapped" /> object.</summary>
<param name="nativeOverlappedPtr">An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</param>
+ <returns>An <see cref="T:System.Threading.Overlapped" /> object containing the information unpacked from the native structure.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="nativeOverlappedPtr" /> is <see langword="null" />.</exception>
- <returns>An <see cref="T:System.Threading.Overlapped" /> object containing the information unpacked from the native structure.</returns>
</member>
<member name="M:System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback)">
<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>
<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>
- <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
<returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
+ <exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> has already been packed.</exception>
</member>
<member name="M:System.Threading.Overlapped.UnsafePack(System.Threading.IOCompletionCallback,System.Object)">
<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>
<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>
<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>
+ <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
<exception cref="T:System.InvalidOperationException">The current <see cref="T:System.Threading.Overlapped" /> is already packed.</exception>
- <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
- </member>
- <member name="P:System.Threading.Overlapped.AsyncResult">
- <summary>Gets or sets the object that provides status information on the I/O operation.</summary>
- <returns>An object that implements the <see cref="T:System.IAsyncResult" /> interface.</returns>
- </member>
- <member name="P:System.Threading.Overlapped.EventHandle">
- <summary>Gets or sets the 32-bit integer handle to a synchronization event that is signaled when the I/O operation is complete.</summary>
- <returns>An <see cref="T:System.Int32" /> value representing the handle of the synchronization event.</returns>
- </member>
- <member name="P:System.Threading.Overlapped.EventHandleIntPtr">
- <summary>Gets or sets the handle to the synchronization event that is signaled when the I/O operation is complete.</summary>
- <returns>An <see cref="T:System.IntPtr" /> representing the handle of the event.</returns>
- </member>
- <member name="P:System.Threading.Overlapped.OffsetHigh">
- <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>
- <returns>An <see cref="T:System.Int32" /> value representing the high word of the file position.</returns>
- </member>
- <member name="P:System.Threading.Overlapped.OffsetLow">
- <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>
- <returns>An <see cref="T:System.Int32" /> value representing the low word of the file position.</returns>
</member>
<member name="T:System.Threading.PreAllocatedOverlapped">
<summary>Represents pre-allocated state for native overlapped I/O operations.</summary>
<member name="M:System.Threading.PreAllocatedOverlapped.Finalize">
<summary>Frees unmanaged resources before the current instance is reclaimed by garbage collection.</summary>
</member>
- <member name="M:System.Threading.PreAllocatedOverlapped.UnsafeCreate(System.Threading.IOCompletionCallback,System.Object,System.Object)">
- <summary>Initializes a new instance of the <see cref="T:System.Threading.PreAllocatedOverlapped" /> class, specifying a delegate that is invoked when each asynchronous I/O operation is complete, a user-provided object providing context, and managed objects that serve as buffers.</summary>
- <param name="callback">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when each asynchronous I/O operation completes.</param>
- <param name="state">A user-provided object that distinguishes <see cref="T:System.Threading.NativeOverlapped" /> instance produced from this object from other <see cref="T:System.Threading.NativeOverlapped" /> instances. Can be <see langword="null" />.</param>
- <param name="pinData">An object or array of objects representing the input or output buffer for the operations. Each object represents a buffer, for example an array of bytes. Can be <see langword="null" />.</param>
- <exception cref="T:System.ArgumentNullException">
- <paramref name="callback" /> is <see langword="null" />.</exception>
- <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.</exception>
- <returns>The new <see cref="T:System.Threading.PreAllocatedOverlapped" /> instance.</returns>
- </member>
<member name="T:System.Threading.ThreadPoolBoundHandle">
<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>
</member>
<param name="callback">A delegate that represents the callback method to invoke when the asynchronous I/O operation completes.</param>
<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>
<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>
+ <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="callback" /> is <see langword="null" />.</exception>
<exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> object was disposed.</exception>
- <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
</member>
<member name="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.PreAllocatedOverlapped)">
<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>
<param name="preAllocated">An object from which to create the <see cref="T:System.Threading.NativeOverlapped" /> pointer.</param>
+ <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="preAllocated" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">
<paramref name="preAllocated" /> is currently in use for another I/O operation.</exception>
- <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.
-
- -or-
-
- This method was called after <paramref name="preAllocated" /> was disposed.</exception>
- <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
+ <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.
+-or-
+This method was called after <paramref name="preAllocated" /> was disposed.</exception>
</member>
<member name="M:System.Threading.ThreadPoolBoundHandle.BindHandle(System.Runtime.InteropServices.SafeHandle)">
<summary>Returns a <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for the specified handle, which is bound to the system thread pool.</summary>
<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>
+ <returns>A <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for <paramref name="handle" />, which is bound to the system thread pool.</returns>
<exception cref="T:System.ArgumentNullException">
<paramref name="handle" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException">
- <paramref name="handle" /> has been disposed.
-
- -or-
-
- <paramref name="handle" /> does not refer to a valid I/O handle.
-
- -or-
-
- <paramref name="handle" /> refers to a handle that has not been opened for overlapped I/O.
-
- -or-
-
- <paramref name="handle" /> refers to a handle that has already been bound.</exception>
- <returns>A <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for <paramref name="handle" />, which is bound to the system thread pool.</returns>
+ <paramref name="handle" /> has been disposed.
+-or-
+<paramref name="handle" /> does not refer to a valid I/O handle.
+-or-
+<paramref name="handle" /> refers to a handle that has not been opened for overlapped I/O.
+-or-
+<paramref name="handle" /> refers to a handle that has already been bound.</exception>
</member>
<member name="M:System.Threading.ThreadPoolBoundHandle.Dispose">
<summary>Releases all unmanaged resources used by the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> instance.</summary>
<member name="M:System.Threading.ThreadPoolBoundHandle.GetNativeOverlappedState(System.Threading.NativeOverlapped*)">
<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>
<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>
- <exception cref="T:System.ArgumentNullException">
- <paramref name="overlapped" /> is <see langword="null" />.</exception>
<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>
- </member>
- <member name="M:System.Threading.ThreadPoolBoundHandle.UnsafeAllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object)">
- <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 providing context, and managed objects that serve as buffers.</summary>
- <param name="callback">An <see cref="T:System.Threading.IOCompletionCallback" /> delegate that represents the callback method invoked when the asynchronous I/O operation completes.</param>
- <param name="state">A user-provided object that distinguishes this <see cref="T:System.Threading.NativeOverlapped" /> from other <see cref="T:System.Threading.NativeOverlapped" /> instances. Can be <see langword="null" />.</param>
- <param name="pinData">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. Can be <see langword="null" />.</param>
<exception cref="T:System.ArgumentNullException">
- <paramref name="callback" /> is <see langword="null" />.</exception>
- <exception cref="T:System.ObjectDisposedException">This method was called after the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> was disposed.</exception>
- <returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
+ <paramref name="overlapped" /> is <see langword="null" />.</exception>
</member>
<member name="P:System.Threading.ThreadPoolBoundHandle.Handle">
<summary>Gets the bound operating system handle.</summary>