Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiContext.cs / 1 / SmiContext.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace Microsoft.SqlServer.Server {
using System;
using System.Data;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Security.Principal;
// NOTE: connection, transaction and context pipe operations could be
// encapsulated in their own classes, and should if they get complex
// (transaction is borderline at this point).
internal abstract class SmiContext {
internal abstract event EventHandler OutOfScope;
internal abstract SmiConnection ContextConnection { get; }
internal abstract long ContextTransactionId { get; }
internal abstract System.Transactions.Transaction ContextTransaction { get; }
internal abstract bool HasContextPipe { get; }
internal abstract WindowsIdentity WindowsIdentity { get; }
internal abstract SmiRecordBuffer CreateRecordBuffer (
SmiExtendedMetaData[] columnMetaData, // Extended metadata because it requires names, udttypename and xmlschemaname ignored
SmiEventSink eventSink
);
internal abstract SmiRequestExecutor CreateRequestExecutor (
string commandText,
CommandType commandType,
SmiParameterMetaData[] parameterMetaData,
SmiEventSink eventSink
);
//
internal abstract object GetContextValue ( int key );
internal abstract void GetTriggerInfo (
SmiEventSink eventSink,
out bool[] columnsUpdated,
out TriggerAction action,
out SqlXml eventInstanceData
);
internal abstract void SendMessageToPipe( string message, SmiEventSink eventSink );
internal abstract void SendResultsStartToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SendResultsRowToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SendResultsEndToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SetContextValue ( int key, object value );
// Scratch LOB storage region
internal virtual SmiStream GetScratchStream( SmiEventSink sink ) {
// Adding as of V3
// Implement body with throw because there are only a couple of ways to get to this code:
// 1) Client is calling this method even though the server negotiated for V2- and hasn't implemented V3 yet.
// 2) Server didn't implement V3, but negotiated V3+.
System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod );
return null;
}
}
}
// 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;
using System.Data.Sql;
using System.Data.SqlTypes;
using System.Security.Principal;
// NOTE: connection, transaction and context pipe operations could be
// encapsulated in their own classes, and should if they get complex
// (transaction is borderline at this point).
internal abstract class SmiContext {
internal abstract event EventHandler OutOfScope;
internal abstract SmiConnection ContextConnection { get; }
internal abstract long ContextTransactionId { get; }
internal abstract System.Transactions.Transaction ContextTransaction { get; }
internal abstract bool HasContextPipe { get; }
internal abstract WindowsIdentity WindowsIdentity { get; }
internal abstract SmiRecordBuffer CreateRecordBuffer (
SmiExtendedMetaData[] columnMetaData, // Extended metadata because it requires names, udttypename and xmlschemaname ignored
SmiEventSink eventSink
);
internal abstract SmiRequestExecutor CreateRequestExecutor (
string commandText,
CommandType commandType,
SmiParameterMetaData[] parameterMetaData,
SmiEventSink eventSink
);
//
internal abstract object GetContextValue ( int key );
internal abstract void GetTriggerInfo (
SmiEventSink eventSink,
out bool[] columnsUpdated,
out TriggerAction action,
out SqlXml eventInstanceData
);
internal abstract void SendMessageToPipe( string message, SmiEventSink eventSink );
internal abstract void SendResultsStartToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SendResultsRowToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SendResultsEndToPipe( SmiRecordBuffer recordBuffer, SmiEventSink eventSink );
internal abstract void SetContextValue ( int key, object value );
// Scratch LOB storage region
internal virtual SmiStream GetScratchStream( SmiEventSink sink ) {
// Adding as of V3
// Implement body with throw because there are only a couple of ways to get to this code:
// 1) Client is calling this method even though the server negotiated for V2- and hasn't implemented V3 yet.
// 2) Server didn't implement V3, but negotiated V3+.
System.Data.Common.ADP.InternalError( System.Data.Common.ADP.InternalErrorCode.UnimplementedSMIMethod );
return null;
}
}
}
// 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
- PersonalizationProviderCollection.cs
- DataGridPagerStyle.cs
- XmlWriterDelegator.cs
- ParameterInfo.cs
- InvalidOperationException.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- NetPeerTcpBindingCollectionElement.cs
- MissingFieldException.cs
- PeerUnsafeNativeMethods.cs
- OutgoingWebRequestContext.cs
- DataQuery.cs
- FormsAuthenticationUserCollection.cs
- MexNamedPipeBindingCollectionElement.cs
- GPPOINT.cs
- DataBindingHandlerAttribute.cs
- EntityCommandDefinition.cs
- SqlBulkCopyColumnMappingCollection.cs
- WindowsFormsLinkLabel.cs
- TransportChannelListener.cs
- PropagatorResult.cs
- HttpWebResponse.cs
- ImageBrush.cs
- DataGridPageChangedEventArgs.cs
- ToolStripDropDownItemDesigner.cs
- IdentityReference.cs
- SchemaNamespaceManager.cs
- HandledMouseEvent.cs
- PrintPreviewDialog.cs
- SwitchDesigner.xaml.cs
- MenuItem.cs
- TextBlockAutomationPeer.cs
- SerializationSectionGroup.cs
- QilXmlWriter.cs
- XmlNodeReader.cs
- Funcletizer.cs
- Utility.cs
- BinaryObjectInfo.cs
- CodeThrowExceptionStatement.cs
- RecommendedAsConfigurableAttribute.cs
- KnownTypeAttribute.cs
- AppliedDeviceFiltersDialog.cs
- nulltextnavigator.cs
- XMLSchema.cs
- Attribute.cs
- ObjectDataSourceMethodEventArgs.cs
- Baml2006Reader.cs
- ColumnResizeAdorner.cs
- ItemList.cs
- HttpCapabilitiesEvaluator.cs
- ConfigurationPropertyCollection.cs
- _ServiceNameStore.cs
- MenuItemStyle.cs
- Rijndael.cs
- RenderingEventArgs.cs
- FilterableAttribute.cs
- StrokeRenderer.cs
- SQLRoleProvider.cs
- RefreshPropertiesAttribute.cs
- EntityDataSourceDesigner.cs
- SubqueryRules.cs
- PrintingPermissionAttribute.cs
- NetworkAddressChange.cs
- Effect.cs
- SmiMetaData.cs
- EntityDataSourceState.cs
- formatter.cs
- CodeConstructor.cs
- StyleConverter.cs
- WebPartDisplayMode.cs
- PeerContact.cs
- ToolStripRendererSwitcher.cs
- SelectingProviderEventArgs.cs
- LazyTextWriterCreator.cs
- MouseEvent.cs
- StorageBasedPackageProperties.cs
- DataGridCommandEventArgs.cs
- StandardToolWindows.cs
- ColorAnimation.cs
- ConfigurationElement.cs
- Decimal.cs
- PersistenceTask.cs
- FileReservationCollection.cs
- CustomLineCap.cs
- BCryptNative.cs
- TextEditorThreadLocalStore.cs
- MessageQueueAccessControlEntry.cs
- TreeNodeMouseHoverEvent.cs
- StyleHelper.cs
- AnimatedTypeHelpers.cs
- BatchStream.cs
- ColorComboBox.cs
- XPathDocumentIterator.cs
- UnsettableComboBox.cs
- SoapTransportImporter.cs
- EmptyStringExpandableObjectConverter.cs
- LayoutTableCell.cs
- SiteMapHierarchicalDataSourceView.cs
- ClrPerspective.cs
- DependencyObjectType.cs
- RectAnimationClockResource.cs