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
- InternalConfigHost.cs
- InvokeProviderWrapper.cs
- FreezableDefaultValueFactory.cs
- OdbcUtils.cs
- ConfigErrorGlyph.cs
- VisualTransition.cs
- _ShellExpression.cs
- CornerRadiusConverter.cs
- SuppressIldasmAttribute.cs
- HttpHandlerActionCollection.cs
- XmlSchemaComplexContentExtension.cs
- ListItem.cs
- AnnotationObservableCollection.cs
- SectionRecord.cs
- entitydatasourceentitysetnameconverter.cs
- MultiTargetingUtil.cs
- LexicalChunk.cs
- TransformPattern.cs
- ComEventsSink.cs
- ButtonChrome.cs
- FileUtil.cs
- CroppedBitmap.cs
- ObjectListField.cs
- AdRotator.cs
- XpsS0ValidatingLoader.cs
- SecuritySessionClientSettings.cs
- TextTreeTextNode.cs
- SqlTriggerContext.cs
- Instrumentation.cs
- GeneralTransform3D.cs
- CollectionViewGroup.cs
- EntityDataSourceContextDisposingEventArgs.cs
- RequiredAttributeAttribute.cs
- AsyncContentLoadedEventArgs.cs
- AttributeUsageAttribute.cs
- ExceptionValidationRule.cs
- TextModifierScope.cs
- WebResponse.cs
- NullableFloatSumAggregationOperator.cs
- FilterElement.cs
- ClockGroup.cs
- SafeRegistryHandle.cs
- DesignColumnCollection.cs
- LineGeometry.cs
- UpdatePanelTriggerCollection.cs
- PerformanceCounterManager.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SecurityKeyEntropyMode.cs
- FormViewInsertEventArgs.cs
- cookiecontainer.cs
- WSSecurityPolicy.cs
- DtdParser.cs
- CompilationUtil.cs
- PropertyMapper.cs
- DataPagerFieldCommandEventArgs.cs
- XmlSigningNodeWriter.cs
- WizardPanelChangingEventArgs.cs
- ProfilePropertyNameValidator.cs
- SmtpLoginAuthenticationModule.cs
- WebHttpSecurity.cs
- BehaviorEditorPart.cs
- JapaneseCalendar.cs
- NoResizeHandleGlyph.cs
- PropertyConverter.cs
- RenderData.cs
- SecurityMode.cs
- LicFileLicenseProvider.cs
- ComboBoxRenderer.cs
- SerializationInfo.cs
- DataStreamFromComStream.cs
- XsltException.cs
- NonSerializedAttribute.cs
- SystemSounds.cs
- MobileUITypeEditor.cs
- CodeDomSerializer.cs
- PerfCounters.cs
- AddInController.cs
- CompilerParameters.cs
- TextSpan.cs
- EventArgs.cs
- hresults.cs
- SelectionProviderWrapper.cs
- ColorTransformHelper.cs
- ByteStorage.cs
- MetadataArtifactLoaderComposite.cs
- QilReplaceVisitor.cs
- ClientFormsIdentity.cs
- XmlWhitespace.cs
- Stopwatch.cs
- XmlSignatureProperties.cs
- ConfigXmlComment.cs
- EventToken.cs
- Atom10ItemFormatter.cs
- RelationshipConstraintValidator.cs
- ElementHost.cs
- SegmentInfo.cs
- MimeBasePart.cs
- StackSpiller.Generated.cs
- AudioException.cs
- BitmapCache.cs