Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiSettersStream.cs / 1 / SmiSettersStream.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- namespace Microsoft.SqlServer.Server { using System; using System.Data.Common; using System.Data.SqlClient; using System.Diagnostics; using System.IO; internal class SmiSettersStream : Stream { private SmiEventSink_Default _sink; private ITypedSettersV3 _setters; private int _ordinal; private long _lengthWritten; private SmiMetaData _metaData; internal SmiSettersStream( SmiEventSink_Default sink, ITypedSettersV3 setters, int ordinal, SmiMetaData metaData ) { Debug.Assert( null != sink ); Debug.Assert( null != setters ); Debug.Assert( 0 <= ordinal ); Debug.Assert( null != metaData ); _sink = sink; _setters = setters; _ordinal = ordinal; _lengthWritten = 0; _metaData = metaData; } public override bool CanRead { get { return false; } } // If CanSeek is false, Position, Seek, Length, and SetLength should throw. public override bool CanSeek { get { return false; } } public override bool CanWrite { get { return true; } } public override long Length { get { return _lengthWritten; } } public override long Position { get { return _lengthWritten; } set { throw SQL.StreamSeekNotSupported(); } } public override void Flush() { _lengthWritten = ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, _lengthWritten); } public override long Seek(long offset, SeekOrigin origin) { throw SQL.StreamSeekNotSupported(); } public override void SetLength(long value) { if ( value < 0 ) { throw ADP.ArgumentOutOfRange("value"); } ValueUtilsSmi.SetBytesLength(_sink, _setters, _ordinal, _metaData, value); } public override int Read(byte[] buffer, int offset, int count) { throw SQL.StreamReadNotSupported(); } public override void Write(byte[] buffer, int offset, int count) { _lengthWritten += ValueUtilsSmi.SetBytes(_sink, _setters, _ordinal, _metaData, _lengthWritten, buffer, offset, count); } } } // 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
- AnnotationAdorner.cs
- MD5CryptoServiceProvider.cs
- ZipIOExtraFieldZip64Element.cs
- ToolStripDropDownMenu.cs
- DesignDataSource.cs
- BufferedConnection.cs
- ApplicationSecurityManager.cs
- BufferedStream.cs
- ListSortDescriptionCollection.cs
- ZipPackagePart.cs
- TdsParserStateObject.cs
- CapabilitiesState.cs
- DesignerVerb.cs
- KoreanCalendar.cs
- DrawingGroup.cs
- ActiveXHelper.cs
- IdentityElement.cs
- IteratorFilter.cs
- OrderedEnumerableRowCollection.cs
- UserControl.cs
- AssemblySettingAttributes.cs
- ContextStaticAttribute.cs
- AutomationPropertyInfo.cs
- DataSourceView.cs
- _SslState.cs
- TabPage.cs
- CombinedGeometry.cs
- ClusterUtils.cs
- XmlJsonWriter.cs
- ExtenderHelpers.cs
- ListItemCollection.cs
- TrackingProfile.cs
- DataTemplateKey.cs
- XamlTypeMapper.cs
- PersonalizablePropertyEntry.cs
- ObjectQueryProvider.cs
- UniqueTransportManagerRegistration.cs
- XhtmlBasicPhoneCallAdapter.cs
- MonthChangedEventArgs.cs
- MasterPageBuildProvider.cs
- NoPersistScope.cs
- DesignerAdapterAttribute.cs
- ValueProviderWrapper.cs
- ImportContext.cs
- FixedSOMElement.cs
- SymDocumentType.cs
- LogLogRecordEnumerator.cs
- EntityConnectionStringBuilder.cs
- WinEventQueueItem.cs
- GPPOINTF.cs
- NameObjectCollectionBase.cs
- UIElementParaClient.cs
- MsmqOutputMessage.cs
- StyleTypedPropertyAttribute.cs
- Attributes.cs
- XmlReaderSettings.cs
- ConstrainedDataObject.cs
- SecurityIdentifierElement.cs
- AsyncPostBackErrorEventArgs.cs
- Comparer.cs
- Point3DAnimation.cs
- DownloadProgressEventArgs.cs
- KoreanLunisolarCalendar.cs
- KeyValuePairs.cs
- HandlerMappingMemo.cs
- DesignerProperties.cs
- Freezable.cs
- NamespaceListProperty.cs
- ExtensibleClassFactory.cs
- StylusOverProperty.cs
- StrokeSerializer.cs
- Rect3D.cs
- IImplicitResourceProvider.cs
- BaseValidator.cs
- LocalizabilityAttribute.cs
- FormatVersion.cs
- AssemblyContextControlItem.cs
- SamlAssertion.cs
- MetadataSource.cs
- Typeface.cs
- WindowsScrollBar.cs
- Rfc4050KeyFormatter.cs
- NavigationCommands.cs
- externdll.cs
- WebPartMenuStyle.cs
- CacheSection.cs
- TracePayload.cs
- PenContext.cs
- GatewayDefinition.cs
- DataGridViewLinkCell.cs
- RawUIStateInputReport.cs
- GetRecipientRequest.cs
- FormViewAutoFormat.cs
- TextBoxRenderer.cs
- DataKeyCollection.cs
- ITextView.cs
- WebBrowserProgressChangedEventHandler.cs
- XmlSchemaIdentityConstraint.cs
- DiscoveryClientDocuments.cs
- CryptoProvider.cs