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
- PrincipalPermission.cs
- FormatConvertedBitmap.cs
- ZipIOCentralDirectoryFileHeader.cs
- XamlInt32CollectionSerializer.cs
- WorkflowServiceAttributesTypeConverter.cs
- EmbeddedMailObjectsCollection.cs
- SchemaImporterExtensionElementCollection.cs
- HttpCapabilitiesSectionHandler.cs
- XmlIlTypeHelper.cs
- Switch.cs
- Rectangle.cs
- XmlBinaryReader.cs
- XsdDataContractImporter.cs
- Marshal.cs
- ISSmlParser.cs
- BulletChrome.cs
- validationstate.cs
- FontNamesConverter.cs
- WebEvents.cs
- ExpressionParser.cs
- X509Certificate2Collection.cs
- OdbcConnection.cs
- WebServicesSection.cs
- LineGeometry.cs
- ContextStack.cs
- EventLog.cs
- SqlIdentifier.cs
- SqlRecordBuffer.cs
- WebPartZoneCollection.cs
- GetPageCompletedEventArgs.cs
- DataKeyCollection.cs
- SoapRpcServiceAttribute.cs
- CodeGotoStatement.cs
- CannotUnloadAppDomainException.cs
- Privilege.cs
- BamlLocalizableResourceKey.cs
- OdbcConnectionPoolProviderInfo.cs
- CanExecuteRoutedEventArgs.cs
- StaticFileHandler.cs
- ProfileService.cs
- ModelItemDictionary.cs
- IisTraceWebEventProvider.cs
- XPathNodeInfoAtom.cs
- PersonalizationProviderHelper.cs
- EntityAdapter.cs
- CommentGlyph.cs
- SchemaTableOptionalColumn.cs
- TabletDeviceInfo.cs
- ApplicationDirectoryMembershipCondition.cs
- GetChildSubtree.cs
- Expression.cs
- IdentitySection.cs
- RenderData.cs
- HealthMonitoringSectionHelper.cs
- RoleServiceManager.cs
- JobCollate.cs
- Identity.cs
- EncodingStreamWrapper.cs
- ResponseBodyWriter.cs
- DbExpressionBuilder.cs
- KnownBoxes.cs
- CodeArrayCreateExpression.cs
- SqlCacheDependencySection.cs
- ComponentTray.cs
- MaskedTextBoxDesigner.cs
- ToolStripProgressBar.cs
- TemplateXamlParser.cs
- WindowsTokenRoleProvider.cs
- MetadataHelper.cs
- AssertSection.cs
- RegexCharClass.cs
- ListViewDataItem.cs
- StatusBarDesigner.cs
- XmlSchemaSimpleContentRestriction.cs
- CollectionViewGroup.cs
- CodeAccessPermission.cs
- Light.cs
- BitmapDownload.cs
- DynamicContractTypeBuilder.cs
- LineServicesRun.cs
- OleDbError.cs
- WebHttpSecurityElement.cs
- SurrogateChar.cs
- ToolStripDropDownItemDesigner.cs
- BaseResourcesBuildProvider.cs
- ModuleBuilderData.cs
- SByteStorage.cs
- XmlSchemaSimpleTypeRestriction.cs
- PackagePartCollection.cs
- ObjectStorage.cs
- ManagementException.cs
- InfoCardTrace.cs
- TextRangeEditTables.cs
- SafeMILHandleMemoryPressure.cs
- InputScopeNameConverter.cs
- StreamWithDictionary.cs
- Misc.cs
- ApplicationSecurityManager.cs
- AttachedPropertyDescriptor.cs
- FontUnit.cs