Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / SqlClient / SqlClientWrapperSmiStream.cs / 1305376 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompilerGeneratedAttribute.cs
- SecurityElement.cs
- TemplatedControlDesigner.cs
- PrintDialogException.cs
- UnescapedXmlDiagnosticData.cs
- ColorAnimationUsingKeyFrames.cs
- DigestComparer.cs
- PeerContact.cs
- TagMapInfo.cs
- ImageDrawing.cs
- MsmqOutputSessionChannel.cs
- MessageHeaderT.cs
- DateTimeOffsetStorage.cs
- CommonDialog.cs
- PropertyEmitterBase.cs
- QilGenerator.cs
- XamlContextStack.cs
- FrameworkElementFactory.cs
- ExternalFile.cs
- SqlOuterApplyReducer.cs
- SqlProcedureAttribute.cs
- PathFigureCollectionConverter.cs
- Validator.cs
- TextComposition.cs
- HtmlImage.cs
- ProviderCommandInfoUtils.cs
- GenerateScriptTypeAttribute.cs
- RoutedPropertyChangedEventArgs.cs
- Stacktrace.cs
- DataTableTypeConverter.cs
- ArraySegment.cs
- Sequence.cs
- DrawToolTipEventArgs.cs
- BinaryMethodMessage.cs
- hresults.cs
- ConfigXmlAttribute.cs
- CategoryNameCollection.cs
- UnaryExpression.cs
- Quaternion.cs
- ExecutionEngineException.cs
- DomainUpDown.cs
- TextTreeUndo.cs
- MetabaseServerConfig.cs
- SingleConverter.cs
- ModelPropertyImpl.cs
- ComplexPropertyEntry.cs
- ObjRef.cs
- Missing.cs
- DispatchWrapper.cs
- XmlSchemaSubstitutionGroup.cs
- CodePageEncoding.cs
- HMAC.cs
- StackOverflowException.cs
- MaskedTextBox.cs
- XslNumber.cs
- LongValidator.cs
- TableLayoutPanelCellPosition.cs
- XmlTextWriter.cs
- WebPartCancelEventArgs.cs
- RectValueSerializer.cs
- InputQueue.cs
- GridViewRowPresenterBase.cs
- AppDomainFactory.cs
- DataListDesigner.cs
- ToolStripDropTargetManager.cs
- NetworkInterface.cs
- XmlObjectSerializerReadContextComplex.cs
- ScriptingRoleServiceSection.cs
- COM2ColorConverter.cs
- Switch.cs
- DefaultAsyncDataDispatcher.cs
- OletxVolatileEnlistment.cs
- SequentialOutput.cs
- StandardToolWindows.cs
- GridProviderWrapper.cs
- TrackingParticipant.cs
- NotConverter.cs
- CacheHelper.cs
- AmbientValueAttribute.cs
- SrgsDocument.cs
- LoginUtil.cs
- CodeTryCatchFinallyStatement.cs
- SqlCacheDependencyDatabaseCollection.cs
- ConstraintConverter.cs
- WindowsFormsHost.cs
- TextServicesManager.cs
- AnnotationAdorner.cs
- TextLineResult.cs
- XMLDiffLoader.cs
- ObjectAnimationBase.cs
- PlaceHolder.cs
- Calendar.cs
- NotSupportedException.cs
- EditingMode.cs
- TextTreeInsertUndoUnit.cs
- SequentialActivityDesigner.cs
- CompiledELinqQueryState.cs
- GeometryGroup.cs
- RegistryPermission.cs
- DesignerTransaction.cs