Code:
/ DotNET / DotNET / 8.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
- HashCoreRequest.cs
- _SslSessionsCache.cs
- ContainerAction.cs
- Int64Storage.cs
- BitmapPalettes.cs
- CodeGenerator.cs
- IndentedWriter.cs
- BitmapImage.cs
- StrokeCollection2.cs
- FontInfo.cs
- ManagedIStream.cs
- TextTreeInsertUndoUnit.cs
- mda.cs
- UIElementPropertyUndoUnit.cs
- DesignerCommandSet.cs
- GeometryGroup.cs
- PlacementWorkspace.cs
- RadioButtonFlatAdapter.cs
- ActivityDesignerLayoutSerializers.cs
- DataSourceHelper.cs
- SoapServerProtocol.cs
- WebPartHeaderCloseVerb.cs
- ViewStateModeByIdAttribute.cs
- SqlRowUpdatedEvent.cs
- WebDisplayNameAttribute.cs
- HttpSocketManager.cs
- PersonalizationEntry.cs
- DbException.cs
- XMLUtil.cs
- DetailsViewRow.cs
- Int64Converter.cs
- SHA512.cs
- TextPointer.cs
- PageSetupDialog.cs
- Compiler.cs
- URLMembershipCondition.cs
- EnumerableRowCollectionExtensions.cs
- NominalTypeEliminator.cs
- DesignTimeTemplateParser.cs
- Header.cs
- XmlBinaryWriter.cs
- ControlCodeDomSerializer.cs
- EdmFunctions.cs
- AsymmetricSignatureDeformatter.cs
- SmtpLoginAuthenticationModule.cs
- TimeBoundedCache.cs
- SecUtil.cs
- ResourceKey.cs
- ExpandedProjectionNode.cs
- SqlParameterizer.cs
- CharAnimationUsingKeyFrames.cs
- Blend.cs
- CookieParameter.cs
- GeometryCollection.cs
- SettingsProperty.cs
- AccessedThroughPropertyAttribute.cs
- EmptyElement.cs
- QilDataSource.cs
- PassportAuthenticationModule.cs
- XhtmlBasicLinkAdapter.cs
- MD5CryptoServiceProvider.cs
- XsltArgumentList.cs
- DrawingContextWalker.cs
- WindowsComboBox.cs
- UnmanagedMarshal.cs
- XmlUtil.cs
- SiteIdentityPermission.cs
- SystemIPGlobalStatistics.cs
- PolicyStatement.cs
- DataRowView.cs
- HttpDebugHandler.cs
- Ticks.cs
- SerializationObjectManager.cs
- RawTextInputReport.cs
- TimeoutException.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- SafeProcessHandle.cs
- RSAOAEPKeyExchangeFormatter.cs
- SelectionManager.cs
- DataGridViewCellCancelEventArgs.cs
- WindowsGraphicsCacheManager.cs
- XmlSchemaAll.cs
- Types.cs
- X509Chain.cs
- Variable.cs
- OneOfTypeConst.cs
- CodeEventReferenceExpression.cs
- ScriptRegistrationManager.cs
- GetLastErrorDetailsRequest.cs
- QilFunction.cs
- EmptyReadOnlyDictionaryInternal.cs
- KeySpline.cs
- InkPresenterAutomationPeer.cs
- GridViewCellAutomationPeer.cs
- JavaScriptString.cs
- PageParser.cs
- NamespaceEmitter.cs
- Error.cs
- OleServicesContext.cs
- FixedSOMLineCollection.cs