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
- ManipulationLogic.cs
- basevalidator.cs
- Int32.cs
- ISO2022Encoding.cs
- IpcChannel.cs
- XmlSchemaObjectCollection.cs
- WebPartConnectionsConnectVerb.cs
- XmlStringTable.cs
- Positioning.cs
- SQLDecimal.cs
- MultitargetUtil.cs
- DataTableMappingCollection.cs
- FileEnumerator.cs
- ProviderConnectionPoint.cs
- DataGridViewCheckBoxCell.cs
- DependentList.cs
- NonceCache.cs
- ReflectEventDescriptor.cs
- SafeWaitHandle.cs
- ToggleProviderWrapper.cs
- CommandEventArgs.cs
- ApplicationException.cs
- PopupRootAutomationPeer.cs
- ComboBoxAutomationPeer.cs
- RunClient.cs
- MdiWindowListStrip.cs
- FigureParaClient.cs
- LoginView.cs
- MouseDevice.cs
- DBCommandBuilder.cs
- RangeValuePattern.cs
- JsonUriDataContract.cs
- Rect3D.cs
- ColorBlend.cs
- DtdParser.cs
- ObjectIDGenerator.cs
- x509store.cs
- ServiceOperationUIEditor.cs
- TypeToken.cs
- FileSystemInfo.cs
- LogArchiveSnapshot.cs
- SamlAudienceRestrictionCondition.cs
- ProjectionAnalyzer.cs
- SelectorItemAutomationPeer.cs
- DataGridItemCollection.cs
- WebEventTraceProvider.cs
- MemoryFailPoint.cs
- TreeNode.cs
- webclient.cs
- XmlBoundElement.cs
- WindowsEditBox.cs
- DataControlFieldHeaderCell.cs
- UrlSyndicationContent.cs
- SqlDataSourceFilteringEventArgs.cs
- ConvertEvent.cs
- ChineseLunisolarCalendar.cs
- XmlSchemaInferenceException.cs
- BasicHttpMessageSecurityElement.cs
- GestureRecognitionResult.cs
- AsymmetricSignatureDeformatter.cs
- ProcessingInstructionAction.cs
- CroppedBitmap.cs
- OpCellTreeNode.cs
- QilChoice.cs
- TimeZone.cs
- CoreSwitches.cs
- PointAnimationClockResource.cs
- XmlWriter.cs
- TextEditorSpelling.cs
- BaseParagraph.cs
- TreeNodeMouseHoverEvent.cs
- RepeatInfo.cs
- SqlAliasesReferenced.cs
- UnknownBitmapEncoder.cs
- EventLogPermissionAttribute.cs
- SQLMembershipProvider.cs
- FileDataSourceCache.cs
- SqlDataSourceSelectingEventArgs.cs
- GenericTypeParameterBuilder.cs
- DecoderFallbackWithFailureFlag.cs
- MembershipPasswordException.cs
- SessionStateUtil.cs
- SqlReorderer.cs
- RuleCache.cs
- EndpointAddressMessageFilterTable.cs
- NonBatchDirectoryCompiler.cs
- WebPartHelpVerb.cs
- KeyConverter.cs
- URLMembershipCondition.cs
- InternalTypeHelper.cs
- ScriptControlManager.cs
- SqlUserDefinedAggregateAttribute.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ConsumerConnectionPointCollection.cs
- ButtonFieldBase.cs
- ParallelDesigner.cs
- MenuBase.cs
- DataSourceDesigner.cs
- NativeObjectSecurity.cs
- TypeProvider.cs