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
- InvokeMemberBinder.cs
- SqlBulkCopyColumnMapping.cs
- XmlWhitespace.cs
- OptimizedTemplateContent.cs
- validationstate.cs
- _CacheStreams.cs
- Attachment.cs
- XmlSchemaGroupRef.cs
- WebServiceEnumData.cs
- RegistrationServices.cs
- ExtensionSimplifierMarkupObject.cs
- RepeaterItemEventArgs.cs
- CompleteWizardStep.cs
- DynamicUpdateCommand.cs
- SerializerProvider.cs
- CfgParser.cs
- Decimal.cs
- SupportedAddressingMode.cs
- ControlParameter.cs
- ObjectViewQueryResultData.cs
- MenuItem.cs
- UnmanagedMemoryStream.cs
- Delegate.cs
- Semaphore.cs
- MultiSelector.cs
- CreateUserErrorEventArgs.cs
- DesignerHelpers.cs
- AddInServer.cs
- LinqDataSourceContextEventArgs.cs
- CryptoHelper.cs
- CutCopyPasteHelper.cs
- Funcletizer.cs
- SHA256.cs
- CatalogZone.cs
- Calendar.cs
- IncrementalReadDecoders.cs
- OleDbTransaction.cs
- Int32AnimationUsingKeyFrames.cs
- DesignerResources.cs
- GatewayDefinition.cs
- VisualTarget.cs
- WebResourceAttribute.cs
- TileBrush.cs
- AlphaSortedEnumConverter.cs
- TextEditorCharacters.cs
- ReaderContextStackData.cs
- EnumValidator.cs
- ImageBrush.cs
- ProfileGroupSettings.cs
- StoreItemCollection.cs
- TypeLoadException.cs
- HtmlInputHidden.cs
- EndpointReference.cs
- WindowsStatusBar.cs
- AnnotationService.cs
- StateMachine.cs
- CodeIterationStatement.cs
- Wizard.cs
- XmlElementCollection.cs
- Button.cs
- Vector3DConverter.cs
- SortDescriptionCollection.cs
- ObjectStateFormatter.cs
- EventLogTraceListener.cs
- Queue.cs
- SqlXmlStorage.cs
- CacheForPrimitiveTypes.cs
- ColorAnimationBase.cs
- EntityViewGenerator.cs
- SubMenuStyleCollection.cs
- PageEventArgs.cs
- Base64Encoding.cs
- LoginDesignerUtil.cs
- DocumentPage.cs
- TextBlockAutomationPeer.cs
- SeekStoryboard.cs
- CanonicalFormWriter.cs
- VSWCFServiceContractGenerator.cs
- DbDataAdapter.cs
- CompositeKey.cs
- ConfigXmlText.cs
- DSASignatureDeformatter.cs
- StyleCollection.cs
- XmlStreamNodeWriter.cs
- FormViewDeleteEventArgs.cs
- XmlObjectSerializerWriteContextComplex.cs
- GACMembershipCondition.cs
- ClientTargetSection.cs
- XmlWrappingWriter.cs
- Stack.cs
- TypedElement.cs
- StackOverflowException.cs
- FontWeight.cs
- PrintDialog.cs
- PerfCounterSection.cs
- StyleCollection.cs
- HttpCachePolicyElement.cs
- IndexerNameAttribute.cs
- WindowsEditBox.cs
- UserControlCodeDomTreeGenerator.cs