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
- SQLByte.cs
- ContentPresenter.cs
- SurrogateDataContract.cs
- DelegatedStream.cs
- PriorityQueue.cs
- IUnknownConstantAttribute.cs
- AliasedSlot.cs
- HwndProxyElementProvider.cs
- SocketAddress.cs
- OleDbMetaDataFactory.cs
- ConsoleCancelEventArgs.cs
- UserPreference.cs
- Stylus.cs
- List.cs
- PageParserFilter.cs
- Win32SafeHandles.cs
- HttpCookiesSection.cs
- CustomError.cs
- GlobalProxySelection.cs
- EntityDataSourceViewSchema.cs
- MobileTemplatedControlDesigner.cs
- CodeNamespaceImportCollection.cs
- BitmapEffectrendercontext.cs
- ChoiceConverter.cs
- DataSourceGeneratorException.cs
- StdValidatorsAndConverters.cs
- TraceContextRecord.cs
- UniqueID.cs
- MethodBuilder.cs
- WebPartTransformerAttribute.cs
- VerificationAttribute.cs
- VisualStateManager.cs
- XmlnsCache.cs
- ClientScriptManagerWrapper.cs
- DefaultBinder.cs
- HttpClientCertificate.cs
- JobCollate.cs
- MSHTMLHost.cs
- ProviderSettings.cs
- DataGridViewCellStyleConverter.cs
- PrintPreviewGraphics.cs
- CodeAccessSecurityEngine.cs
- ParserHooks.cs
- RoleManagerSection.cs
- XmlNullResolver.cs
- ScrollData.cs
- ExpressionWriter.cs
- MsmqReceiveParameters.cs
- ArglessEventHandlerProxy.cs
- SingleResultAttribute.cs
- IdentityModelStringsVersion1.cs
- EntityCommandCompilationException.cs
- ActionItem.cs
- DefaultMemberAttribute.cs
- MenuItemAutomationPeer.cs
- SqlBinder.cs
- PreProcessInputEventArgs.cs
- OperatingSystem.cs
- CreatingCookieEventArgs.cs
- XmlNavigatorFilter.cs
- SafeHandles.cs
- OrderedEnumerableRowCollection.cs
- GcSettings.cs
- _SslSessionsCache.cs
- RegexCode.cs
- LayoutUtils.cs
- ReverseQueryOperator.cs
- ConditionalAttribute.cs
- TraceLevelStore.cs
- ReliableMessagingVersionConverter.cs
- GridViewColumnHeader.cs
- MimeObjectFactory.cs
- BlurEffect.cs
- WebUtil.cs
- NotificationContext.cs
- XmlAnyAttributeAttribute.cs
- StorageMappingFragment.cs
- RegistryExceptionHelper.cs
- WinInet.cs
- AssemblyBuilderData.cs
- IdentitySection.cs
- FormViewRow.cs
- SessionEndedEventArgs.cs
- PreviewKeyDownEventArgs.cs
- XMLDiffLoader.cs
- FreezableCollection.cs
- WebSysDefaultValueAttribute.cs
- EventHandlersStore.cs
- OverlappedAsyncResult.cs
- DetailsViewInsertEventArgs.cs
- SqlAliasesReferenced.cs
- ContextStaticAttribute.cs
- SystemWebExtensionsSectionGroup.cs
- CmsInterop.cs
- UnsafeNativeMethods.cs
- ContainerSelectorBehavior.cs
- WebDisplayNameAttribute.cs
- InputReport.cs
- DependencyObject.cs
- _ListenerResponseStream.cs