Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiGettersStream.cs / 1 / SmiGettersStream.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace Microsoft.SqlServer.Server {
using System;
using System.Data.Common;
using System.Data.SqlClient;
using System.IO;
using System.Diagnostics;
internal class SmiGettersStream : Stream {
private SmiEventSink_Default _sink;
private ITypedGettersV3 _getters;
private int _ordinal;
private long _readPosition;
private SmiMetaData _metaData;
internal SmiGettersStream( SmiEventSink_Default sink, ITypedGettersV3 getters, int ordinal, SmiMetaData metaData ) {
Debug.Assert( null != sink );
Debug.Assert( null != getters );
Debug.Assert( 0 <= ordinal );
Debug.Assert( null != metaData );
_sink = sink;
_getters = getters;
_ordinal = ordinal;
_readPosition = 0;
_metaData = metaData;
}
public override bool CanRead {
get {
return true;
}
}
// If CanSeek is false, Position, Seek, Length, and SetLength should throw.
public override bool CanSeek {
get {
return false;
}
}
public override bool CanWrite {
get {
return false;
}
}
public override long Length {
get {
return ValueUtilsSmi.GetBytesInternal( _sink, _getters, _ordinal, _metaData, 0, null, 0, 0, false );
}
}
public override long Position {
get {
return _readPosition;
}
set {
throw SQL.StreamSeekNotSupported();
}
}
public override void Flush() {
throw SQL.StreamWriteNotSupported();
}
public override long Seek(long offset, SeekOrigin origin) {
throw SQL.StreamSeekNotSupported();
}
public override void SetLength(long value) {
throw SQL.StreamWriteNotSupported();
}
public override int Read( byte[] buffer, int offset, int count ) {
long bytesRead = ValueUtilsSmi.GetBytesInternal( _sink, _getters, _ordinal, _metaData, _readPosition, buffer, offset, count, false );
_readPosition += bytesRead;
return checked( (int) bytesRead );
}
public override void Write( byte[] buffer, int offset, int count ) {
throw SQL.StreamWriteNotSupported();
}
}
}
// 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
- Transform.cs
- dataprotectionpermission.cs
- BindingEditor.xaml.cs
- WebUtil.cs
- cookiecontainer.cs
- DeviceContexts.cs
- RC2CryptoServiceProvider.cs
- VisualStyleRenderer.cs
- ProfilePropertySettings.cs
- Compress.cs
- unitconverter.cs
- FixedSOMFixedBlock.cs
- TypeUtil.cs
- Point3DCollection.cs
- AnnotationDocumentPaginator.cs
- Operand.cs
- FileClassifier.cs
- Material.cs
- WebPartCatalogAddVerb.cs
- TraceHandlerErrorFormatter.cs
- SqlTypeConverter.cs
- OLEDB_Util.cs
- RemoveStoryboard.cs
- SupportingTokenSpecification.cs
- ConnectionInterfaceCollection.cs
- HostProtectionException.cs
- Int32Converter.cs
- TypeInfo.cs
- ApplicationDirectory.cs
- UInt32.cs
- Int64AnimationBase.cs
- UnaryNode.cs
- CodeAssignStatement.cs
- TypeUtil.cs
- BitmapScalingModeValidation.cs
- XmlSerializerNamespaces.cs
- SystemColorTracker.cs
- Thumb.cs
- SoapTypeAttribute.cs
- NumberSubstitution.cs
- TextContainerChangedEventArgs.cs
- CryptoHandle.cs
- ApplicationFileParser.cs
- EventSetterHandlerConverter.cs
- MouseButton.cs
- SizeFConverter.cs
- WebPartManager.cs
- BuildProvider.cs
- odbcmetadatafactory.cs
- ComPlusDiagnosticTraceRecords.cs
- FullTextLine.cs
- OutputCacheSettings.cs
- BitmapEffectInputData.cs
- IncrementalCompileAnalyzer.cs
- UshortList2.cs
- SqlCacheDependencySection.cs
- ImageClickEventArgs.cs
- Calendar.cs
- PeerName.cs
- SiteMapPathDesigner.cs
- IssuedTokenParametersEndpointAddressElement.cs
- BrowserTree.cs
- HttpResponseHeader.cs
- Unit.cs
- IDispatchConstantAttribute.cs
- Compilation.cs
- SingleSelectRootGridEntry.cs
- EventMappingSettingsCollection.cs
- RsaSecurityKey.cs
- ThemeableAttribute.cs
- Number.cs
- XPathNodeInfoAtom.cs
- AssertFilter.cs
- TitleStyle.cs
- URLMembershipCondition.cs
- DataSourceListEditor.cs
- ViewLoader.cs
- ValueCollectionParameterReader.cs
- PrintPreviewDialog.cs
- Focus.cs
- QuaternionAnimation.cs
- DataObject.cs
- RoutedEventHandlerInfo.cs
- ActiveXHost.cs
- SynchronizingStream.cs
- StringArrayConverter.cs
- Point4D.cs
- SharedPersonalizationStateInfo.cs
- GridViewRow.cs
- RankException.cs
- DataBindingCollection.cs
- WebServiceEnumData.cs
- RetrieveVirtualItemEventArgs.cs
- DataGridSortingEventArgs.cs
- HtmlButton.cs
- DataRecordInternal.cs
- PolyQuadraticBezierSegment.cs
- MessageEnumerator.cs
- QueryCacheManager.cs
- ActiveXMessageFormatter.cs