Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
426 lines (406 sloc) 26.1 KB
<Type Name="ThreadPoolBoundHandle" FullName="System.Threading.ThreadPoolBoundHandle">
<TypeSignature Language="C#" Value="public sealed class ThreadPoolBoundHandle : IDisposable" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit ThreadPoolBoundHandle extends System.Object implements class System.IDisposable" />
<TypeSignature Language="DocId" Value="T:System.Threading.ThreadPoolBoundHandle" />
<TypeSignature Language="VB.NET" Value="Public NotInheritable Class ThreadPoolBoundHandle&#xA;Implements IDisposable" />
<TypeSignature Language="C++ CLI" Value="public ref class ThreadPoolBoundHandle sealed : IDisposable" />
<TypeSignature Language="F#" Value="type ThreadPoolBoundHandle = class&#xA; interface IDisposable" />
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute FrameworkAlternate="netstandard-2.0">
<AttributeName>System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)</AttributeName>
</Attribute>
</Attributes>
<Docs>
<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>
<remarks>To be added.</remarks>
</Docs>
<Members>
<MemberGroup MemberName="AllocateNativeOverlapped">
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
</AssemblyInfo>
<Docs>
<summary>Returns an unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</summary>
</Docs>
</MemberGroup>
<Member MemberName="AllocateNativeOverlapped">
<MemberSignature Language="C#" Value="public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.PreAllocatedOverlapped preAllocated);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Threading.NativeOverlapped* AllocateNativeOverlapped(class System.Threading.PreAllocatedOverlapped preAllocated) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.PreAllocatedOverlapped)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::Threading::NativeOverlapped* AllocateNativeOverlapped(System::Threading::PreAllocatedOverlapped ^ preAllocated);" />
<MemberSignature Language="F#" Value="member this.AllocateNativeOverlapped : System.Threading.PreAllocatedOverlapped -&gt; nativeptr&lt;System.Threading.NativeOverlapped&gt;" Usage="threadPoolBoundHandle.AllocateNativeOverlapped preAllocated" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netframework-4.7.1;netframework-4.7.2;netstandard-2.0;netframework-4.8;netcore-2.2;dotnet-uwp-10.0;netcore-3.0;netstandard-2.1;netcore-3.1">
<AttributeName>System.CLSCompliant(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Threading.NativeOverlapped*</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="preAllocated" Type="System.Threading.PreAllocatedOverlapped" />
</Parameters>
<Docs>
<param name="preAllocated">An object from which to create the <see cref="T:System.Threading.NativeOverlapped" /> pointer.</param>
<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>
<returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The unmanaged pointer returned by this method can be passed to the operating system in overlapped I/O operations. The <xref:System.Threading.NativeOverlapped> structure is fixed in physical memory until the <xref:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped%2A> method is called.
]]></format>
</remarks>
<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>
<altmember cref="T:System.Threading.PreAllocatedOverlapped" />
</Docs>
</Member>
<Member MemberName="AllocateNativeOverlapped">
<MemberSignature Language="C#" Value="public System.Threading.NativeOverlapped* AllocateNativeOverlapped (System.Threading.IOCompletionCallback callback, object state, object pinData);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Threading.NativeOverlapped* AllocateNativeOverlapped(class System.Threading.IOCompletionCallback callback, object state, object pinData) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped(System.Threading.IOCompletionCallback,System.Object,System.Object)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::Threading::NativeOverlapped* AllocateNativeOverlapped(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);" />
<MemberSignature Language="F#" Value="member this.AllocateNativeOverlapped : System.Threading.IOCompletionCallback * obj * obj -&gt; nativeptr&lt;System.Threading.NativeOverlapped&gt;" Usage="threadPoolBoundHandle.AllocateNativeOverlapped (callback, state, pinData)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netframework-4.7.1;netframework-4.7.2;netstandard-2.0;netframework-4.8;netcore-2.2;dotnet-uwp-10.0;netcore-3.0;netstandard-2.1;netcore-3.1">
<AttributeName>System.CLSCompliant(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Threading.NativeOverlapped*</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="callback" Type="System.Threading.IOCompletionCallback" />
<Parameter Name="state" Type="System.Object" />
<Parameter Name="pinData" Type="System.Object" />
</Parameters>
<Docs>
<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>
<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>
<returns>An unmanaged pointer to a <see cref="T:System.Threading.NativeOverlapped" /> structure.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
The unmanaged pointer returned by this method can be passed to the operating system in overlapped I/O operations. The <xref:System.Threading.NativeOverlapped> structure is fixed in physical memory until <xref:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped%2A?displayProperty=nameWithType> is called.
> [!NOTE]
> The buffers specified in <paramref name="pinData" /> are pinned for the duration of the I/O operation.
The buffer or buffers specified in <paramref name="pinData" /> must be the same as those passed to the unmanaged operating system function that performs the asynchronous I/O.
]]></format>
</remarks>
<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>
</Docs>
</Member>
<Member MemberName="BindHandle">
<MemberSignature Language="C#" Value="public static System.Threading.ThreadPoolBoundHandle BindHandle (System.Runtime.InteropServices.SafeHandle handle);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Threading.ThreadPoolBoundHandle BindHandle(class System.Runtime.InteropServices.SafeHandle handle) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.BindHandle(System.Runtime.InteropServices.SafeHandle)" />
<MemberSignature Language="VB.NET" Value="Public Shared Function BindHandle (handle As SafeHandle) As ThreadPoolBoundHandle" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; static System::Threading::ThreadPoolBoundHandle ^ BindHandle(System::Runtime::InteropServices::SafeHandle ^ handle);" />
<MemberSignature Language="F#" Value="static member BindHandle : System.Runtime.InteropServices.SafeHandle -&gt; System.Threading.ThreadPoolBoundHandle" Usage="System.Threading.ThreadPoolBoundHandle.BindHandle handle" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Threading.ThreadPoolBoundHandle</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="handle" Type="System.Runtime.InteropServices.SafeHandle" />
</Parameters>
<Docs>
<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>
<summary>Returns a <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for the specified handle, which is bound to the system thread pool.</summary>
<returns>A <see cref="T:System.Threading.ThreadPoolBoundHandle" /> for <paramref name="handle" />, which is bound to the system thread pool.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method should be called once per handle.
The <xref:System.Threading.ThreadPoolBoundHandle> object does not take ownership of `handle`; it remains the responsibility of the caller to call <xref:System.Runtime.InteropServices.SafeHandle.Dispose%2A>.
]]></format>
</remarks>
<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>
</Docs>
</Member>
<Member MemberName="Dispose">
<MemberSignature Language="C#" Value="public void Dispose ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.Dispose" />
<MemberSignature Language="VB.NET" Value="Public Sub Dispose ()" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual void Dispose();" />
<MemberSignature Language="F#" Value="abstract member Dispose : unit -&gt; unit&#xA;override this.Dispose : unit -&gt; unit" Usage="threadPoolBoundHandle.Dispose " />
<MemberType>Method</MemberType>
<Implements>
<InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember>
</Implements>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Releases all unmanaged resources used by the <see cref="T:System.Threading.ThreadPoolBoundHandle" /> instance.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="FreeNativeOverlapped">
<MemberSignature Language="C#" Value="public void FreeNativeOverlapped (System.Threading.NativeOverlapped* overlapped);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance void FreeNativeOverlapped(valuetype System.Threading.NativeOverlapped* overlapped) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped(System.Threading.NativeOverlapped*)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; void FreeNativeOverlapped(System::Threading::NativeOverlapped* overlapped);" />
<MemberSignature Language="F#" Value="member this.FreeNativeOverlapped : nativeptr&lt;System.Threading.NativeOverlapped&gt; -&gt; unit" Usage="threadPoolBoundHandle.FreeNativeOverlapped overlapped" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netframework-4.7.1;netframework-4.7.2;netstandard-2.0;netframework-4.8;netcore-2.2;dotnet-uwp-10.0;netcore-3.0;netstandard-2.1;netcore-3.1">
<AttributeName>System.CLSCompliant(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Void</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="overlapped" Type="System.Threading.NativeOverlapped*" />
</Parameters>
<Docs>
<param name="overlapped">An unmanaged pointer to the <see cref="T:System.Threading.NativeOverlapped" /> structure to be freed.</param>
<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>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
> [!CAUTION]
> You must call the <xref:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped%2A> method exactly once on every <xref:System.Threading.NativeOverlapped> unmanaged pointer allocated by using the <xref:System.Threading.ThreadPoolBoundHandle.AllocateNativeOverlapped%2A> method. If you do not call the <xref:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped%2A> method, you will leak memory. If you call the <xref:System.Threading.ThreadPoolBoundHandle.FreeNativeOverlapped%2A> method more than once on the same <xref:System.Threading.NativeOverlapped> unmanaged pointer, memory will be corrupted.
]]></format>
</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="overlapped" /> 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>
</Docs>
</Member>
<Member MemberName="GetNativeOverlappedState">
<MemberSignature Language="C#" Value="public static object GetNativeOverlappedState (System.Threading.NativeOverlapped* overlapped);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig object GetNativeOverlappedState(valuetype System.Threading.NativeOverlapped* overlapped) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Threading.ThreadPoolBoundHandle.GetNativeOverlappedState(System.Threading.NativeOverlapped*)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; static System::Object ^ GetNativeOverlappedState(System::Threading::NativeOverlapped* overlapped);" />
<MemberSignature Language="F#" Value="static member GetNativeOverlappedState : nativeptr&lt;System.Threading.NativeOverlapped&gt; -&gt; obj" Usage="System.Threading.ThreadPoolBoundHandle.GetNativeOverlappedState overlapped" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netcore-1.0;netcore-1.1;netcore-2.0;netcore-2.1;netframework-4.7.1;netframework-4.7.2;netstandard-2.0;netframework-4.8;netcore-2.2;dotnet-uwp-10.0;netcore-3.0;netstandard-2.1;netcore-3.1">
<AttributeName>System.CLSCompliant(false)</AttributeName>
</Attribute>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="overlapped" Type="System.Threading.NativeOverlapped*" />
</Parameters>
<Docs>
<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>
<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>
<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>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="overlapped" /> is <see langword="null" />.</exception>
</Docs>
</Member>
<Member MemberName="Handle">
<MemberSignature Language="C#" Value="public System.Runtime.InteropServices.SafeHandle Handle { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Runtime.InteropServices.SafeHandle Handle" />
<MemberSignature Language="DocId" Value="P:System.Threading.ThreadPoolBoundHandle.Handle" />
<MemberSignature Language="VB.NET" Value="Public ReadOnly Property Handle As SafeHandle" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; property System::Runtime::InteropServices::SafeHandle ^ Handle { System::Runtime::InteropServices::SafeHandle ^ get(); };" />
<MemberSignature Language="F#" Value="member this.Handle : System.Runtime.InteropServices.SafeHandle" Usage="System.Threading.ThreadPoolBoundHandle.Handle" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>System.Threading.Overlapped</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.1.0</AssemblyVersion>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.7.1;netframework-4.7.2;netframework-4.8">
<AttributeName>get: System.Security.SecurityCritical</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Runtime.InteropServices.SafeHandle</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets the bound operating system handle.</summary>
<value>An object that holds the bound operating system handle.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.