Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- LinqDataSourceView.cs
- AspNetSynchronizationContext.cs
- FieldToken.cs
- XmlAttribute.cs
- TimeIntervalCollection.cs
- ApplicationException.cs
- NonVisualControlAttribute.cs
- _Events.cs
- PropertyConverter.cs
- RegexWriter.cs
- TypeUsage.cs
- SiteOfOriginContainer.cs
- AppDomain.cs
- ToolStrip.cs
- FixedSOMTableRow.cs
- WebPartUtil.cs
- InternalCache.cs
- EntityDataSource.cs
- WorkflowRuntimeEndpoint.cs
- ProcessHostFactoryHelper.cs
- XamlSerializerUtil.cs
- DesignerContextDescriptor.cs
- SQLBoolean.cs
- IPipelineRuntime.cs
- ToolConsole.cs
- DefaultValueAttribute.cs
- TextDecorationCollectionConverter.cs
- UniqueConstraint.cs
- CheckBoxAutomationPeer.cs
- NativeMethods.cs
- XmlSerializationReader.cs
- DataGridViewCheckBoxCell.cs
- FacetEnabledSchemaElement.cs
- XmlComplianceUtil.cs
- TrackBarDesigner.cs
- ScopelessEnumAttribute.cs
- BasicCellRelation.cs
- BitVec.cs
- ValidationResult.cs
- TreeNodeClickEventArgs.cs
- TextWriterTraceListener.cs
- WebEncodingValidator.cs
- XmlCharacterData.cs
- DataMisalignedException.cs
- WebMessageFormatHelper.cs
- SizeIndependentAnimationStorage.cs
- TdsParserSafeHandles.cs
- ComponentChangedEvent.cs
- OutputCacheSettings.cs
- MultipleViewProviderWrapper.cs
- AsyncOperation.cs
- HtmlInputFile.cs
- EastAsianLunisolarCalendar.cs
- TrackingCondition.cs
- storepermission.cs
- ResourceBinder.cs
- CharacterShapingProperties.cs
- ProfileService.cs
- SelectionPattern.cs
- SqlClientWrapperSmiStream.cs
- RemotingConfiguration.cs
- SourceFileBuildProvider.cs
- Attributes.cs
- BinaryMethodMessage.cs
- XsltLibrary.cs
- EntityDataSourceReferenceGroup.cs
- Geometry.cs
- SimpleFieldTemplateUserControl.cs
- WebColorConverter.cs
- DrawListViewColumnHeaderEventArgs.cs
- DataServiceRequestOfT.cs
- ShaderEffect.cs
- MouseCaptureWithinProperty.cs
- PaperSource.cs
- XmlTextAttribute.cs
- OptimizedTemplateContentHelper.cs
- UnknownWrapper.cs
- MsmqIntegrationValidationBehavior.cs
- HttpCookiesSection.cs
- SymDocumentType.cs
- TableLayoutStyleCollection.cs
- WebHeaderCollection.cs
- SortDescriptionCollection.cs
- EncryptedXml.cs
- _BufferOffsetSize.cs
- ResourceFallbackManager.cs
- AppSecurityManager.cs
- FormParameter.cs
- HtmlGenericControl.cs
- InvalidFilterCriteriaException.cs
- AttachedPropertyMethodSelector.cs
- FactoryRecord.cs
- BaseCodeDomTreeGenerator.cs
- TableLayoutPanelBehavior.cs
- ComponentCodeDomSerializer.cs
- ScriptComponentDescriptor.cs
- StreamingContext.cs
- RightNameExpirationInfoPair.cs
- ResourcePermissionBaseEntry.cs
- _NetworkingPerfCounters.cs