Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiSettersStream.cs / 1305376 / 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. // //[....] //[....] //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SingleKeyFrameCollection.cs
- ApplicationServiceManager.cs
- IndexedGlyphRun.cs
- XPathQueryGenerator.cs
- ClientSettingsSection.cs
- Point4DValueSerializer.cs
- OrderByBuilder.cs
- BindingBase.cs
- Vector3DConverter.cs
- HandleRef.cs
- Command.cs
- PrintPreviewDialog.cs
- CodeDOMUtility.cs
- VBIdentifierName.cs
- TextDecorationCollection.cs
- FaultDescription.cs
- FlowLayoutSettings.cs
- DesignerDataView.cs
- DataList.cs
- DictionaryCustomTypeDescriptor.cs
- StandardCommands.cs
- FileSystemEventArgs.cs
- StatusBarAutomationPeer.cs
- PEFileEvidenceFactory.cs
- SystemTcpStatistics.cs
- FileInfo.cs
- LicenseProviderAttribute.cs
- DecimalAnimation.cs
- SoapEnumAttribute.cs
- CatalogZoneAutoFormat.cs
- FunctionImportMapping.cs
- EntityContainerEmitter.cs
- TypeConverterMarkupExtension.cs
- StylusTip.cs
- BindingListCollectionView.cs
- GlyphShapingProperties.cs
- DPCustomTypeDescriptor.cs
- DataControlLinkButton.cs
- Listen.cs
- DependencySource.cs
- UpdateEventArgs.cs
- MarkupExtensionSerializer.cs
- DeclarativeCatalogPart.cs
- UriExt.cs
- CompositionTarget.cs
- RegexNode.cs
- WindowExtensionMethods.cs
- MergablePropertyAttribute.cs
- DataGridViewCellLinkedList.cs
- PropertyInfoSet.cs
- SqlBinder.cs
- CodeTypeConstructor.cs
- SqlStream.cs
- FlowDocumentScrollViewer.cs
- TreeNodeStyle.cs
- XamlSerializerUtil.cs
- ActionItem.cs
- Transform3D.cs
- Content.cs
- HttpCapabilitiesEvaluator.cs
- ExpressionParser.cs
- BufferBuilder.cs
- CdpEqualityComparer.cs
- PropertyNames.cs
- QueryResponse.cs
- SqlFormatter.cs
- _ProxyChain.cs
- GridViewEditEventArgs.cs
- Trustee.cs
- FixedStringLookup.cs
- TypeExtension.cs
- CodeSubDirectory.cs
- XmlComplianceUtil.cs
- RewritingValidator.cs
- ChildTable.cs
- TouchFrameEventArgs.cs
- PageContent.cs
- Utils.cs
- SQLDouble.cs
- SessionStateContainer.cs
- ProcessInputEventArgs.cs
- CellPartitioner.cs
- WindowsToolbar.cs
- XsdDateTime.cs
- DeobfuscatingStream.cs
- SafeViewOfFileHandle.cs
- FrameworkElementFactoryMarkupObject.cs
- AspNetHostingPermission.cs
- WrapperSecurityCommunicationObject.cs
- ListItemParagraph.cs
- TcpServerChannel.cs
- TextEditorSelection.cs
- UnsafeNativeMethods.cs
- ScrollBar.cs
- FontUnitConverter.cs
- AdvancedBindingEditor.cs
- DrawingImage.cs
- CustomValidator.cs
- RenderCapability.cs
- TaskResultSetter.cs