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
- FixUpCollection.cs
- MetaTable.cs
- BaseValidatorDesigner.cs
- SQLByte.cs
- Point4D.cs
- SplitterPanel.cs
- CreateUserWizardStep.cs
- DispatchWrapper.cs
- CodeCommentStatementCollection.cs
- ListenerSessionConnectionReader.cs
- StringCollection.cs
- TextParagraph.cs
- SpeechDetectedEventArgs.cs
- MaterialGroup.cs
- ObjectParameter.cs
- SiteMapNodeCollection.cs
- DateTimeParse.cs
- MarkupCompiler.cs
- ProtectedConfiguration.cs
- ResourceLoader.cs
- ObjectAnimationUsingKeyFrames.cs
- CharEntityEncoderFallback.cs
- Serializer.cs
- _SingleItemRequestCache.cs
- TypeGeneratedEventArgs.cs
- XmlEnumAttribute.cs
- ApplicationContext.cs
- TraceHwndHost.cs
- CodeFieldReferenceExpression.cs
- TypeResolver.cs
- WebPartCatalogAddVerb.cs
- HealthMonitoringSectionHelper.cs
- KeyTimeConverter.cs
- XmlWrappingWriter.cs
- ContentDisposition.cs
- MimeBasePart.cs
- tibetanshape.cs
- EpmSyndicationContentSerializer.cs
- CryptoHelper.cs
- ClientUtils.cs
- CustomExpressionEventArgs.cs
- TextSelectionHighlightLayer.cs
- FunctionDescription.cs
- XmlWriter.cs
- ProcessHostServerConfig.cs
- DataError.cs
- Type.cs
- ListDictionary.cs
- _PooledStream.cs
- TextDocumentView.cs
- _SpnDictionary.cs
- TemplatedControlDesigner.cs
- XamlFigureLengthSerializer.cs
- XmlFormatExtensionPrefixAttribute.cs
- FileLoadException.cs
- Token.cs
- DbMetaDataCollectionNames.cs
- Matrix3DStack.cs
- ReachSerializer.cs
- SourceElementsCollection.cs
- ProgressBarAutomationPeer.cs
- DataRelation.cs
- LoadItemsEventArgs.cs
- MonthChangedEventArgs.cs
- WebBrowsableAttribute.cs
- rsa.cs
- ConnectionPoolRegistry.cs
- WindowsImpersonationContext.cs
- EntityDataSourceWizardForm.cs
- SafeHandles.cs
- ListBindingConverter.cs
- ObjectViewFactory.cs
- DependencyPropertyDescriptor.cs
- PageTheme.cs
- CacheMemory.cs
- complextypematerializer.cs
- Button.cs
- ConfigurationValidatorBase.cs
- Misc.cs
- SizeFConverter.cs
- SliderAutomationPeer.cs
- ToolStripPanelRenderEventArgs.cs
- SuppressMergeCheckAttribute.cs
- ModelItemExtensions.cs
- Viewport2DVisual3D.cs
- InvokeHandlers.cs
- SoapAttributeAttribute.cs
- DescendantBaseQuery.cs
- NavigationService.cs
- ExpressionBindingCollection.cs
- IListConverters.cs
- TextParagraphCache.cs
- SqlDataSourceQueryConverter.cs
- KeyEvent.cs
- ContentElement.cs
- EntityProviderServices.cs
- PointKeyFrameCollection.cs
- VectorAnimationUsingKeyFrames.cs
- FormsAuthenticationUser.cs
- XmlTextWriter.cs