Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Net / System / Net / Sockets / _ConnectOverlappedAsyncResult.cs / 1 / _ConnectOverlappedAsyncResult.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Sockets { using System; using System.Net; using System.Runtime.InteropServices; using System.Threading; using Microsoft.Win32; // // ConnectOverlappedAsyncResult - used to take care of storage for async Socket BeginAccept call. // internal class ConnectOverlappedAsyncResult : BaseOverlappedAsyncResult { private EndPoint m_EndPoint; internal ConnectOverlappedAsyncResult(Socket socket, EndPoint endPoint, Object asyncState, AsyncCallback asyncCallback): base(socket,asyncState,asyncCallback) { m_EndPoint = endPoint; } // // This method is called by base.CompletionPortCallback base.OverlappedCallback as part of IO completion // internal override object PostCompletion(int numBytes) { SocketError errorCode = (SocketError)ErrorCode; Socket socket = (Socket)AsyncObject; if (errorCode==SocketError.Success) { //set the socket context try { errorCode = UnsafeNclNativeMethods.OSSOCK.setsockopt( socket.SafeHandle, SocketOptionLevel.Socket, SocketOptionName.UpdateConnectContext, null, 0); if (errorCode == SocketError.SocketError) errorCode = (SocketError) Marshal.GetLastWin32Error(); } catch (ObjectDisposedException) { errorCode = SocketError.OperationAborted; } ErrorCode = (int) errorCode; } if (errorCode==SocketError.Success) { socket.SetToConnected(); return socket; } return null; } internal EndPoint RemoteEndPoint { get { return m_EndPoint; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Sockets { using System; using System.Net; using System.Runtime.InteropServices; using System.Threading; using Microsoft.Win32; // // ConnectOverlappedAsyncResult - used to take care of storage for async Socket BeginAccept call. // internal class ConnectOverlappedAsyncResult : BaseOverlappedAsyncResult { private EndPoint m_EndPoint; internal ConnectOverlappedAsyncResult(Socket socket, EndPoint endPoint, Object asyncState, AsyncCallback asyncCallback): base(socket,asyncState,asyncCallback) { m_EndPoint = endPoint; } // // This method is called by base.CompletionPortCallback base.OverlappedCallback as part of IO completion // internal override object PostCompletion(int numBytes) { SocketError errorCode = (SocketError)ErrorCode; Socket socket = (Socket)AsyncObject; if (errorCode==SocketError.Success) { //set the socket context try { errorCode = UnsafeNclNativeMethods.OSSOCK.setsockopt( socket.SafeHandle, SocketOptionLevel.Socket, SocketOptionName.UpdateConnectContext, null, 0); if (errorCode == SocketError.SocketError) errorCode = (SocketError) Marshal.GetLastWin32Error(); } catch (ObjectDisposedException) { errorCode = SocketError.OperationAborted; } ErrorCode = (int) errorCode; } if (errorCode==SocketError.Success) { socket.SetToConnected(); return socket; } return null; } internal EndPoint RemoteEndPoint { get { return m_EndPoint; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SessionPageStateSection.cs
- FixedSOMPageConstructor.cs
- SpecialFolderEnumConverter.cs
- XsdCachingReader.cs
- ObjectDataSourceView.cs
- RenamedEventArgs.cs
- PageVisual.cs
- SecurityKeyIdentifier.cs
- OrthographicCamera.cs
- XmlObjectSerializerWriteContext.cs
- XmlSchemaSimpleContentRestriction.cs
- ZipIOCentralDirectoryFileHeader.cs
- NullableIntSumAggregationOperator.cs
- NestedContainer.cs
- PolyQuadraticBezierSegment.cs
- ToolStripItemRenderEventArgs.cs
- DataControlImageButton.cs
- CodeIndexerExpression.cs
- PageThemeCodeDomTreeGenerator.cs
- CodeAccessSecurityEngine.cs
- CatalogZone.cs
- PropertyChangingEventArgs.cs
- UTF32Encoding.cs
- PenCursorManager.cs
- TriggerBase.cs
- DesignerAttribute.cs
- InlinedAggregationOperator.cs
- SoapFault.cs
- JsonQueryStringConverter.cs
- NetWebProxyFinder.cs
- BaseUriHelper.cs
- AvTraceDetails.cs
- LocalBuilder.cs
- HashLookup.cs
- MostlySingletonList.cs
- DoubleConverter.cs
- SettingsPropertyValueCollection.cs
- ThicknessKeyFrameCollection.cs
- PropertyGrid.cs
- IgnoreSection.cs
- SimpleMailWebEventProvider.cs
- NavigationWindow.cs
- PngBitmapDecoder.cs
- SafeRightsManagementEnvironmentHandle.cs
- HitTestWithPointDrawingContextWalker.cs
- QilPatternVisitor.cs
- SafeArrayRankMismatchException.cs
- WaitHandle.cs
- PageRouteHandler.cs
- ListItemConverter.cs
- _SSPISessionCache.cs
- Missing.cs
- DataStreamFromComStream.cs
- ResourceCategoryAttribute.cs
- EditableRegion.cs
- JsonServiceDocumentSerializer.cs
- PropertyConverter.cs
- FixedSOMGroup.cs
- XamlTreeBuilder.cs
- SettingsContext.cs
- PropertyState.cs
- BitmapCodecInfoInternal.cs
- ObjectDataSourceFilteringEventArgs.cs
- StyleBamlTreeBuilder.cs
- PageAsyncTaskManager.cs
- WeakEventTable.cs
- DataServices.cs
- HtmlTextArea.cs
- Base64Decoder.cs
- ScriptResourceAttribute.cs
- ExportOptions.cs
- CustomAttributeSerializer.cs
- Size.cs
- DataQuery.cs
- ProxyWebPartManagerDesigner.cs
- OptimizedTemplateContent.cs
- x509store.cs
- BCLDebug.cs
- LinkLabelLinkClickedEvent.cs
- TheQuery.cs
- ScriptingRoleServiceSection.cs
- RelOps.cs
- COAUTHIDENTITY.cs
- XmlCompatibilityReader.cs
- TreeIterators.cs
- ListItemParagraph.cs
- PerspectiveCamera.cs
- CellParagraph.cs
- RuntimeArgumentHandle.cs
- OpCodes.cs
- TraceContextRecord.cs
- XslCompiledTransform.cs
- JsonReaderDelegator.cs
- TokenDescriptor.cs
- FileRecordSequenceHelper.cs
- DispatchChannelSink.cs
- CharacterHit.cs
- Effect.cs
- OSFeature.cs
- DbConnectionPoolGroup.cs