Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / System / Data / SqlClient / SqlClientWrapperSmiStream.cs / 1 / SqlClientWrapperSmiStream.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; using System.Diagnostics; using System.IO; // Simple wrapper over SmiStream that handles server events on the SqlClient side of Smi internal class SqlClientWrapperSmiStream : Stream { private SmiEventSink_Default _sink; private SmiStream _stream; internal SqlClientWrapperSmiStream( SmiEventSink_Default sink, SmiStream stream ) { Debug.Assert( null != sink ); Debug.Assert( null != stream ); _sink = sink; _stream = stream; } public override bool CanRead { get { return _stream.CanRead; } } // If CanSeek is false, Position, Seek, Length, and SetLength should throw. public override bool CanSeek { get { return _stream.CanSeek; } } public override bool CanWrite { get { return _stream.CanWrite; } } public override long Length { get { long length = _stream.GetLength( _sink ); _sink.ProcessMessagesAndThrow(); return length; } } public override long Position { get { long position = _stream.GetPosition( _sink ); _sink.ProcessMessagesAndThrow(); return position; } set { _stream.SetPosition( _sink, value ); _sink.ProcessMessagesAndThrow(); } } public override void Flush() { _stream.Flush( _sink ); _sink.ProcessMessagesAndThrow(); } public override long Seek(long offset, SeekOrigin origin) { long result = _stream.Seek( _sink, offset, origin ); _sink.ProcessMessagesAndThrow(); return result; } public override void SetLength(long value) { _stream.SetLength( _sink, value ); _sink.ProcessMessagesAndThrow(); } public override int Read(byte[] buffer, int offset, int count) { int bytesRead = _stream.Read( _sink, buffer, offset, count ); _sink.ProcessMessagesAndThrow(); return bytesRead; } public override void Write(byte[] buffer, int offset, int count) { _stream.Write( _sink, buffer, offset, count ); _sink.ProcessMessagesAndThrow(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DbBuffer.cs
- CroppedBitmap.cs
- BooleanFunctions.cs
- View.cs
- CutCopyPasteHelper.cs
- BindingOperations.cs
- UpdateManifestForBrowserApplication.cs
- WindowsRegion.cs
- ModelProperty.cs
- Rect3DValueSerializer.cs
- PathData.cs
- DoubleAnimationUsingPath.cs
- ShapingWorkspace.cs
- ToolZoneDesigner.cs
- CodeGeneratorOptions.cs
- Script.cs
- SqlParameterCollection.cs
- ObjectViewEntityCollectionData.cs
- URLBuilder.cs
- ClassDataContract.cs
- RootBrowserWindowProxy.cs
- PagesSection.cs
- ConnectionPointCookie.cs
- StrongBox.cs
- ArrayElementGridEntry.cs
- HttpCacheParams.cs
- Vector3dCollection.cs
- EnumValAlphaComparer.cs
- OleDbReferenceCollection.cs
- DictionaryManager.cs
- ImpersonateTokenRef.cs
- OwnerDrawPropertyBag.cs
- StructureChangedEventArgs.cs
- GridViewCancelEditEventArgs.cs
- ViewBase.cs
- httpserverutility.cs
- ScrollViewerAutomationPeer.cs
- XmlDownloadManager.cs
- SerializationAttributes.cs
- SQLDecimalStorage.cs
- RpcCryptoRequest.cs
- UIElement3DAutomationPeer.cs
- RepeaterItemCollection.cs
- ObjectTag.cs
- updatecommandorderer.cs
- PageSettings.cs
- ColorConverter.cs
- ConfigUtil.cs
- FontStyleConverter.cs
- NoneExcludedImageIndexConverter.cs
- EntityDataSourceChangingEventArgs.cs
- SByte.cs
- DataSourceView.cs
- Int64Animation.cs
- SqlDataSourceCommandEventArgs.cs
- HashJoinQueryOperatorEnumerator.cs
- X509Utils.cs
- Rotation3DAnimation.cs
- shaperfactory.cs
- SocketException.cs
- GeneralTransform2DTo3DTo2D.cs
- XamlStyleSerializer.cs
- Geometry3D.cs
- WmpBitmapDecoder.cs
- SoapElementAttribute.cs
- PartialCachingAttribute.cs
- RemoteWebConfigurationHostServer.cs
- PartManifestEntry.cs
- PageMediaType.cs
- MultiView.cs
- PluralizationService.cs
- BoundColumn.cs
- ActivityTypeDesigner.xaml.cs
- OrderByBuilder.cs
- XmlSyndicationContent.cs
- Pair.cs
- SessionIDManager.cs
- AdornerHitTestResult.cs
- WindowsButton.cs
- AssemblyCollection.cs
- ContractNamespaceAttribute.cs
- ToolStripPanelRow.cs
- RenderingBiasValidation.cs
- ToolStripLabel.cs
- ActivationArguments.cs
- XmlSignificantWhitespace.cs
- TextBoxAutoCompleteSourceConverter.cs
- OleDbStruct.cs
- WebPartConnectionsCancelVerb.cs
- DropShadowEffect.cs
- BooleanSwitch.cs
- DispatcherHooks.cs
- HttpAsyncResult.cs
- MetafileHeaderWmf.cs
- DataGridViewAdvancedBorderStyle.cs
- IntMinMaxAggregationOperator.cs
- M3DUtil.cs
- UrlPropertyAttribute.cs
- EditingMode.cs
- CriticalHandle.cs