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
- SqlDataAdapter.cs
- UpdateEventArgs.cs
- Tag.cs
- ShutDownListener.cs
- KnownTypeAttribute.cs
- FastEncoder.cs
- Assert.cs
- SafeArrayRankMismatchException.cs
- PackageRelationshipSelector.cs
- ToolStripRenderEventArgs.cs
- KeyPressEvent.cs
- ExtensionSimplifierMarkupObject.cs
- ExceptionUtil.cs
- XmlSchemaComplexType.cs
- TimerTable.cs
- DoubleAnimationUsingKeyFrames.cs
- StorageSetMapping.cs
- DetailsViewRow.cs
- CustomBindingCollectionElement.cs
- ListBase.cs
- EnvironmentPermission.cs
- RemotingConfiguration.cs
- RayMeshGeometry3DHitTestResult.cs
- StructuredProperty.cs
- PathData.cs
- SEHException.cs
- EntityParameter.cs
- FloaterBaseParaClient.cs
- webbrowsersite.cs
- SecuritySessionFilter.cs
- EntityContainer.cs
- PackagePart.cs
- ContextInformation.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- XmlSchemaAttribute.cs
- ScriptingProfileServiceSection.cs
- RequestCache.cs
- CodeDelegateCreateExpression.cs
- InfoCardTrace.cs
- XmlNodeChangedEventArgs.cs
- IssuedTokenParametersEndpointAddressElement.cs
- LexicalChunk.cs
- SocketManager.cs
- COSERVERINFO.cs
- ToolboxComponentsCreatingEventArgs.cs
- ImportCatalogPart.cs
- ObjectItemCollection.cs
- DataGridViewAutoSizeModeEventArgs.cs
- EnumValAlphaComparer.cs
- Parser.cs
- ResourcePool.cs
- RelativeSource.cs
- Binding.cs
- UriParserTemplates.cs
- UInt64Converter.cs
- LicFileLicenseProvider.cs
- ArraySegment.cs
- CatalogZoneBase.cs
- GAC.cs
- Rect.cs
- QueryParameter.cs
- PolyBezierSegment.cs
- Collection.cs
- TabRenderer.cs
- GridViewSortEventArgs.cs
- TraceHandler.cs
- Control.cs
- WebPartExportVerb.cs
- DetailsViewRowCollection.cs
- GraphicsContainer.cs
- EncoderExceptionFallback.cs
- HttpListenerRequestUriBuilder.cs
- ConfigXmlSignificantWhitespace.cs
- SyndicationSerializer.cs
- FontUnitConverter.cs
- StreamDocument.cs
- HttpCapabilitiesEvaluator.cs
- GPPOINT.cs
- SRGSCompiler.cs
- WindowsSysHeader.cs
- ContainerActivationHelper.cs
- IImplicitResourceProvider.cs
- TrackingConditionCollection.cs
- HandlerFactoryCache.cs
- Collection.cs
- DBSqlParser.cs
- _SpnDictionary.cs
- _BufferOffsetSize.cs
- DataGridViewRowEventArgs.cs
- CodeStatementCollection.cs
- MimeXmlImporter.cs
- RepeaterItemEventArgs.cs
- AsyncParams.cs
- PropertyDescriptor.cs
- LogLogRecordEnumerator.cs
- EllipseGeometry.cs
- IODescriptionAttribute.cs
- DeploymentSection.cs
- FontResourceCache.cs
- NewItemsContextMenuStrip.cs