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
- _CommandStream.cs
- RemoteCryptoTokenProvider.cs
- FramingFormat.cs
- NullableLongSumAggregationOperator.cs
- WindowsGrip.cs
- UnsafeNativeMethods.cs
- HtmlAnchor.cs
- SafeArrayRankMismatchException.cs
- PrefixQName.cs
- MostlySingletonList.cs
- SizeAnimationBase.cs
- DetailsViewRow.cs
- ConnectionStringsExpressionEditor.cs
- prompt.cs
- DataBoundControlActionList.cs
- ImageIndexEditor.cs
- EntityDataSourceContainerNameItem.cs
- ParserContext.cs
- Bold.cs
- DataGridViewHeaderCell.cs
- TypeValidationEventArgs.cs
- ProcessProtocolHandler.cs
- ConfigurationSchemaErrors.cs
- SqlDataSourceAdvancedOptionsForm.cs
- ApplicationProxyInternal.cs
- BufferedWebEventProvider.cs
- WindowsTab.cs
- SqlConnectionString.cs
- ZipIOCentralDirectoryBlock.cs
- XamlSerializationHelper.cs
- Error.cs
- XamlPoint3DCollectionSerializer.cs
- NameValueFileSectionHandler.cs
- UnlockInstanceCommand.cs
- NativeMethods.cs
- BinaryMessageFormatter.cs
- FlowDocumentView.cs
- XXXInfos.cs
- PermissionRequestEvidence.cs
- ProxyFragment.cs
- HostingEnvironmentWrapper.cs
- AddInDeploymentState.cs
- DomNameTable.cs
- panel.cs
- UriSection.cs
- Journal.cs
- HorizontalAlignConverter.cs
- SynchronizedDispatch.cs
- ActivityExecutionContext.cs
- ServiceDurableInstanceContextProvider.cs
- LabelEditEvent.cs
- ComplexObject.cs
- Pool.cs
- PagesChangedEventArgs.cs
- WebChannelFactory.cs
- ObjectHelper.cs
- SettingsAttributes.cs
- DataGridViewButtonCell.cs
- DataGridViewAccessibleObject.cs
- TemplatedWizardStep.cs
- WebPartChrome.cs
- UIElementHelper.cs
- SafeMemoryMappedFileHandle.cs
- PropertyNames.cs
- ModelUIElement3D.cs
- HelpProvider.cs
- BitmapMetadata.cs
- UriTemplateDispatchFormatter.cs
- StronglyTypedResourceBuilder.cs
- ApplicationSettingsBase.cs
- DateTimeFormatInfoScanner.cs
- HuffModule.cs
- SequentialOutput.cs
- XmlComplianceUtil.cs
- TypeExtensions.cs
- RIPEMD160Managed.cs
- DoubleAnimationBase.cs
- EntityParameterCollection.cs
- GiveFeedbackEvent.cs
- HandlerBase.cs
- AggregateNode.cs
- COM2ExtendedTypeConverter.cs
- ClaimSet.cs
- DbConnectionPoolGroupProviderInfo.cs
- ConsumerConnectionPointCollection.cs
- InkPresenterAutomationPeer.cs
- XmlCompatibilityReader.cs
- SQLStringStorage.cs
- PickBranch.cs
- SqlDataSourceStatusEventArgs.cs
- DetailsViewInsertedEventArgs.cs
- CodeDirectionExpression.cs
- ClassGenerator.cs
- XmlHierarchicalDataSourceView.cs
- ClickablePoint.cs
- Timer.cs
- ManipulationStartedEventArgs.cs
- AsyncParams.cs
- MeasureItemEvent.cs
- SelectionHighlightInfo.cs