Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / DataOracleClient / System / Data / OracleClient / TempEnvironment.cs / 1 / TempEnvironment.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Data.OracleClient { using System; using System.Diagnostics; using System.Security; using System.Security.Permissions; //--------------------------------------------------------------------- // TempEnvironment // // Temporary Environment, used to get temporary handles so we don't // have to pass the environment handle everywhere. // sealed internal class TempEnvironment { static private OciEnvironmentHandle environmentHandle; static private OciErrorHandle availableErrorHandle; // static private volatile bool isInitialized; static private object locked = new object(); private TempEnvironment() { } static void Initialize() { lock (locked) { if (!isInitialized) { bool unicode = false; OCI.MODE environmentMode = (OCI.MODE.OCI_THREADED | OCI.MODE.OCI_OBJECT); // NOTE: cannot be NO_MUTEX because we might be multi-threaded. OCI.DetermineClientVersion(); //1 #if NEVER if (OCI.ClientVersionAtLeastOracle9i) { unicode = true; environmentMode |= OCI.MODE.OCI_UTF16; } #endif //0 environmentHandle = new OciEnvironmentHandle(environmentMode, unicode); availableErrorHandle = new OciErrorHandle(environmentHandle); isInitialized = true; } } } static internal OciErrorHandle GetErrorHandle() { OracleConnection.VerifyExecutePermission(); if (!isInitialized) { Initialize(); } return availableErrorHandle; // } } } // 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
- TransformPattern.cs
- embossbitmapeffect.cs
- CompilerError.cs
- DataGridTextBoxColumn.cs
- ScriptIgnoreAttribute.cs
- TextCharacters.cs
- DataGridHeadersVisibilityToVisibilityConverter.cs
- Predicate.cs
- Viewport2DVisual3D.cs
- _SslSessionsCache.cs
- ApplicationFileParser.cs
- IRCollection.cs
- TablePattern.cs
- XpsDigitalSignature.cs
- CustomWebEventKey.cs
- ActivityStatusChangeEventArgs.cs
- StringAttributeCollection.cs
- ReliableChannelFactory.cs
- EmptyReadOnlyDictionaryInternal.cs
- DoubleAnimation.cs
- Rectangle.cs
- DirectoryObjectSecurity.cs
- StylusTouchDevice.cs
- EntryIndex.cs
- GlyphCache.cs
- PenLineJoinValidation.cs
- ChtmlTextWriter.cs
- GPRECT.cs
- TextEditorMouse.cs
- X509SecurityToken.cs
- ModifierKeysValueSerializer.cs
- securitycriticaldataClass.cs
- TypeDelegator.cs
- LeaseManager.cs
- AssertFilter.cs
- TextEditorDragDrop.cs
- __ConsoleStream.cs
- CharacterMetricsDictionary.cs
- ObjectTag.cs
- Win32.cs
- GeometryGroup.cs
- File.cs
- BuildProvider.cs
- RelatedImageListAttribute.cs
- StandardCommands.cs
- GridViewCancelEditEventArgs.cs
- FocusChangedEventArgs.cs
- OdbcErrorCollection.cs
- InvalidTimeZoneException.cs
- WriteFileContext.cs
- EntityAdapter.cs
- MetricEntry.cs
- DataGridViewCellFormattingEventArgs.cs
- DecimalAnimation.cs
- DbException.cs
- Variant.cs
- X509SecurityToken.cs
- BitmapMetadataBlob.cs
- XslAstAnalyzer.cs
- FormView.cs
- ToolStripControlHost.cs
- SystemSounds.cs
- Random.cs
- ApplicationServiceHelper.cs
- ClientRuntimeConfig.cs
- SelectorAutomationPeer.cs
- HwndHostAutomationPeer.cs
- EntitySqlQueryBuilder.cs
- Function.cs
- DataSourceHelper.cs
- PowerEase.cs
- SchemaSetCompiler.cs
- RequiredAttributeAttribute.cs
- PropertyEntry.cs
- ObjectDataSourceFilteringEventArgs.cs
- XmlAutoDetectWriter.cs
- UserInitiatedNavigationPermission.cs
- FrameAutomationPeer.cs
- recordstatescratchpad.cs
- FixedTextSelectionProcessor.cs
- WorkflowOperationContext.cs
- DecodeHelper.cs
- ConnectionAcceptor.cs
- PasswordTextContainer.cs
- EventDescriptor.cs
- SystemSounds.cs
- SafeLibraryHandle.cs
- IgnoreSection.cs
- TextOnlyOutput.cs
- FormDesigner.cs
- MenuScrollingVisibilityConverter.cs
- HttpContext.cs
- DataGridSortCommandEventArgs.cs
- SqlCacheDependencySection.cs
- IfJoinedCondition.cs
- ShaderEffect.cs
- Metafile.cs
- GetBrowserTokenRequest.cs
- SingleAnimation.cs
- SingleResultAttribute.cs