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
- EventEntry.cs
- XhtmlBasicTextBoxAdapter.cs
- XNodeNavigator.cs
- ModulesEntry.cs
- Timeline.cs
- ValidatedControlConverter.cs
- ByteFacetDescriptionElement.cs
- ExtendedPropertyDescriptor.cs
- PagerSettings.cs
- QueueSurrogate.cs
- CodeExporter.cs
- DebugControllerThread.cs
- IERequestCache.cs
- SqlBulkCopyColumnMapping.cs
- SourceFileInfo.cs
- TrackBar.cs
- RotateTransform3D.cs
- FileChangesMonitor.cs
- ToolStripDropDownClosedEventArgs.cs
- ZipPackagePart.cs
- XmlSerializerVersionAttribute.cs
- ClientRoleProvider.cs
- SettingsSection.cs
- EncodingTable.cs
- ObjectCloneHelper.cs
- FragmentNavigationEventArgs.cs
- XmlSerializerNamespaces.cs
- ApplicationSecurityInfo.cs
- CompositeFontInfo.cs
- TraceContextRecord.cs
- BaseDataBoundControl.cs
- CodeDomSerializerBase.cs
- TableAdapterManagerGenerator.cs
- DataServiceContext.cs
- AuthenticationManager.cs
- DirectoryNotFoundException.cs
- TextEditorTyping.cs
- InstalledFontCollection.cs
- AssertSection.cs
- WindowsEditBox.cs
- ApplicationSecurityManager.cs
- ToolStripItemRenderEventArgs.cs
- IApplicationTrustManager.cs
- MetadataItem.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- TraceEventCache.cs
- ListBoxItemWrapperAutomationPeer.cs
- SessionIDManager.cs
- AdornedElementPlaceholder.cs
- AnonymousIdentificationModule.cs
- InProcStateClientManager.cs
- COAUTHINFO.cs
- RenderCapability.cs
- FileResponseElement.cs
- DbUpdateCommandTree.cs
- OSFeature.cs
- BrowserTree.cs
- SwitchAttribute.cs
- RangeContentEnumerator.cs
- XmlFormatReaderGenerator.cs
- TemplateFactory.cs
- ListViewPagedDataSource.cs
- HitTestResult.cs
- securitymgrsite.cs
- XomlDesignerLoader.cs
- SchemaManager.cs
- ControlParameter.cs
- Int64AnimationBase.cs
- QuadraticBezierSegment.cs
- StyleSheetDesigner.cs
- UnicastIPAddressInformationCollection.cs
- ProcessThread.cs
- ActiveXHelper.cs
- JsonObjectDataContract.cs
- GridItemPatternIdentifiers.cs
- ClientUIRequest.cs
- HttpServerVarsCollection.cs
- HttpModulesSection.cs
- PersonalizableAttribute.cs
- ToolStripTextBox.cs
- KeyboardNavigation.cs
- MessageSecurityVersion.cs
- InvalidOperationException.cs
- GridViewPageEventArgs.cs
- IssuedTokenParametersElement.cs
- TextTreeTextNode.cs
- ExpressionList.cs
- SQLByte.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- RtfControls.cs
- MaterialGroup.cs
- BitmapDecoder.cs
- AddressingProperty.cs
- KeyedHashAlgorithm.cs
- MailBnfHelper.cs
- TextElementCollection.cs
- SocketPermission.cs
- RawStylusSystemGestureInputReport.cs
- ComponentConverter.cs
- DataTemplate.cs