Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Sockets / _ConnectOverlappedAsyncResult.cs / 1305376 / _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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XamlReader.cs
- VideoDrawing.cs
- ParseNumbers.cs
- OrthographicCamera.cs
- XhtmlConformanceSection.cs
- FormViewDeletedEventArgs.cs
- WorkItem.cs
- ThicknessConverter.cs
- TypeConverterHelper.cs
- TextEditorLists.cs
- MapPathBasedVirtualPathProvider.cs
- LinqDataSourceDisposeEventArgs.cs
- ActivityWithResultWrapper.cs
- Exceptions.cs
- SplayTreeNode.cs
- InsufficientMemoryException.cs
- ipaddressinformationcollection.cs
- RowSpanVector.cs
- ModuleBuilderData.cs
- StringFreezingAttribute.cs
- BrowserInteropHelper.cs
- QuaternionValueSerializer.cs
- Figure.cs
- DataPointer.cs
- EncodingNLS.cs
- CompositeFontInfo.cs
- IsolationInterop.cs
- DesignerHierarchicalDataSourceView.cs
- PolicyValidationException.cs
- SizeAnimationBase.cs
- ClientRuntimeConfig.cs
- OdbcParameter.cs
- TypeUnloadedException.cs
- SqlEnums.cs
- GorillaCodec.cs
- updatecommandorderer.cs
- StylusShape.cs
- MdiWindowListStrip.cs
- ObjectSecurity.cs
- AutomationEvent.cs
- ProfileManager.cs
- WebServiceReceive.cs
- UseAttributeSetsAction.cs
- SafeLocalMemHandle.cs
- ConnectionManagementElement.cs
- TaskHelper.cs
- DataGridParentRows.cs
- isolationinterop.cs
- PropertyIdentifier.cs
- SystemColors.cs
- PropertyKey.cs
- SpellerInterop.cs
- QueryAccessibilityHelpEvent.cs
- SubpageParaClient.cs
- ImageClickEventArgs.cs
- RemotingException.cs
- XmlNodeReader.cs
- XmlChoiceIdentifierAttribute.cs
- ComboBoxDesigner.cs
- DefaultPrintController.cs
- FormViewInsertEventArgs.cs
- _TLSstream.cs
- CollectionBuilder.cs
- ReferenceList.cs
- MenuTracker.cs
- BindingExpressionBase.cs
- securitycriticaldata.cs
- DetailsViewPageEventArgs.cs
- DiagnosticsConfiguration.cs
- DetailsViewPageEventArgs.cs
- TextView.cs
- HtmlControl.cs
- InternalTypeHelper.cs
- ShaderRenderModeValidation.cs
- ListenerElementsCollection.cs
- Exceptions.cs
- PersonalizationProviderCollection.cs
- UpDownBase.cs
- ViewBase.cs
- TextEmbeddedObject.cs
- RowUpdatedEventArgs.cs
- DependencyPropertyHelper.cs
- TriggerCollection.cs
- BamlResourceContent.cs
- ProgressiveCrcCalculatingStream.cs
- ColumnProvider.cs
- RelatedCurrencyManager.cs
- UnsafeNativeMethods.cs
- ProcessModule.cs
- DefaultValueTypeConverter.cs
- ContractBase.cs
- Border.cs
- PauseStoryboard.cs
- NextPreviousPagerField.cs
- ObsoleteAttribute.cs
- FreezableCollection.cs
- IListConverters.cs
- DataExpression.cs
- ExternalException.cs
- AssemblyInfo.cs