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
- CodeVariableReferenceExpression.cs
- XmlSchemaImport.cs
- Registration.cs
- BrowserCapabilitiesCodeGenerator.cs
- SafeSecurityHandles.cs
- ConnectionInterfaceCollection.cs
- VirtualPath.cs
- IDictionary.cs
- CopyEncoder.cs
- CompositeTypefaceMetrics.cs
- XmlUtilWriter.cs
- PackagingUtilities.cs
- ScriptIgnoreAttribute.cs
- StylusPointDescription.cs
- GeneralTransform3D.cs
- DiagnosticTrace.cs
- FrameworkElementFactoryMarkupObject.cs
- DataAdapter.cs
- IdentityValidationException.cs
- WebAdminConfigurationHelper.cs
- MediaEntryAttribute.cs
- SelectionEditor.cs
- CurrencyWrapper.cs
- DrawingImage.cs
- ProxyWebPartManager.cs
- _ProxyChain.cs
- NetDispatcherFaultException.cs
- Version.cs
- ActivityStateRecord.cs
- SystemIPAddressInformation.cs
- TemplateColumn.cs
- ComponentCommands.cs
- SequentialOutput.cs
- ColorConverter.cs
- XmlSchemaImport.cs
- FixUpCollection.cs
- ReadOnlyNameValueCollection.cs
- MemberInfoSerializationHolder.cs
- LineGeometry.cs
- newitemfactory.cs
- ScrollBarAutomationPeer.cs
- StrokeRenderer.cs
- DBNull.cs
- IndependentAnimationStorage.cs
- WebPartVerbCollection.cs
- WindowInteropHelper.cs
- RegularExpressionValidator.cs
- KerberosSecurityTokenProvider.cs
- ResourceIDHelper.cs
- TypeSystemProvider.cs
- PersonalizationEntry.cs
- XmlIgnoreAttribute.cs
- OpenTypeCommon.cs
- ExeContext.cs
- DataBindingExpressionBuilder.cs
- Debug.cs
- TypeExtensionConverter.cs
- ParseElementCollection.cs
- WebException.cs
- ProvideValueServiceProvider.cs
- XmlTypeMapping.cs
- Panel.cs
- UnmanagedMemoryStream.cs
- MarshalByValueComponent.cs
- NavigationWindow.cs
- XmlSchemaChoice.cs
- ByteConverter.cs
- EntityProviderServices.cs
- Configuration.cs
- EventData.cs
- AttachmentCollection.cs
- DocumentEventArgs.cs
- MethodBody.cs
- InfoCardService.cs
- WebPart.cs
- X509ChainPolicy.cs
- TreeViewImageIndexConverter.cs
- XmlSchemaParticle.cs
- FixedPosition.cs
- PropertyMap.cs
- WaitForChangedResult.cs
- X509RecipientCertificateServiceElement.cs
- XamlRtfConverter.cs
- ReflectionPermission.cs
- CultureInfo.cs
- DataGridViewRowCollection.cs
- CatalogPart.cs
- XD.cs
- SynchronizedDisposablePool.cs
- EditorAttribute.cs
- Pair.cs
- RegexInterpreter.cs
- MainMenu.cs
- XmlSchemaGroup.cs
- ComponentCommands.cs
- ErrorHandler.cs
- CreatingCookieEventArgs.cs
- StaticFileHandler.cs
- DBConnectionString.cs
- TextOutput.cs