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
- DrawingGroup.cs
- UniqueEventHelper.cs
- ColumnCollection.cs
- FrameDimension.cs
- TreeViewItem.cs
- HtmlTextArea.cs
- Application.cs
- DesignerVerb.cs
- MinimizableAttributeTypeConverter.cs
- DataGridViewSelectedRowCollection.cs
- AttributeConverter.cs
- SplitterPanel.cs
- SendParametersContent.cs
- UICuesEvent.cs
- FormatException.cs
- ObjectListCommand.cs
- BitmapPalettes.cs
- _OSSOCK.cs
- HostExecutionContextManager.cs
- StreamInfo.cs
- SocketCache.cs
- PingOptions.cs
- OutOfMemoryException.cs
- LineProperties.cs
- ReadOnlyDictionary.cs
- ColumnWidthChangedEvent.cs
- IconHelper.cs
- WinEventWrap.cs
- WebPartZoneCollection.cs
- CacheForPrimitiveTypes.cs
- HighlightVisual.cs
- ReflectTypeDescriptionProvider.cs
- GenericNameHandler.cs
- DbConnectionPoolCounters.cs
- CategoryGridEntry.cs
- Token.cs
- RealProxy.cs
- InkCanvasInnerCanvas.cs
- Button.cs
- AsyncPostBackTrigger.cs
- FunctionParameter.cs
- InvalidOleVariantTypeException.cs
- FrameworkElementFactoryMarkupObject.cs
- PauseStoryboard.cs
- CalendarModeChangedEventArgs.cs
- _FixedSizeReader.cs
- IntSecurity.cs
- WinFormsUtils.cs
- ConfigurationCollectionAttribute.cs
- TypeInitializationException.cs
- OleDbFactory.cs
- DiscoveryDocument.cs
- GatewayDefinition.cs
- MetadataFile.cs
- ScaleTransform.cs
- XDeferredAxisSource.cs
- LocalizationComments.cs
- SrgsItemList.cs
- HitTestFilterBehavior.cs
- TraceLog.cs
- BaseResourcesBuildProvider.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- NativeMethods.cs
- WinEventWrap.cs
- _SslSessionsCache.cs
- SimpleWorkerRequest.cs
- VirtualizedItemProviderWrapper.cs
- SpeechSeg.cs
- ObjectRef.cs
- Calendar.cs
- BindValidator.cs
- RelatedImageListAttribute.cs
- RemoteHelper.cs
- UpDownBase.cs
- DataControlFieldHeaderCell.cs
- ButtonChrome.cs
- TextPattern.cs
- ProcessHostServerConfig.cs
- Point4DValueSerializer.cs
- RangeValuePatternIdentifiers.cs
- XsdBuilder.cs
- ActivityExecutorDelegateInfo.cs
- AssociationSet.cs
- CommonObjectSecurity.cs
- Popup.cs
- TraceEventCache.cs
- _SafeNetHandles.cs
- SqlNodeAnnotation.cs
- TextServicesDisplayAttributePropertyRanges.cs
- ReadWriteSpinLock.cs
- InvalidDataException.cs
- WindowsSpinner.cs
- InfoCardClaim.cs
- MenuItemAutomationPeer.cs
- NaturalLanguageHyphenator.cs
- DirectionalLight.cs
- DataSysAttribute.cs
- SmtpNtlmAuthenticationModule.cs
- ComponentSerializationService.cs
- DocumentReference.cs