Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- BaseResourcesBuildProvider.cs
- XmlSchemaImporter.cs
- OutputCacheModule.cs
- Menu.cs
- HttpHandlerAction.cs
- GroupBoxRenderer.cs
- CustomCredentialPolicy.cs
- Directory.cs
- sqlpipe.cs
- WindowsListBox.cs
- BooleanSwitch.cs
- MetadataConversionError.cs
- AttributeEmitter.cs
- DefaultEventAttribute.cs
- HwndSource.cs
- CompModSwitches.cs
- GeneralTransform3DGroup.cs
- VisemeEventArgs.cs
- _KerberosClient.cs
- IPAddressCollection.cs
- cookieexception.cs
- TextChange.cs
- CodeAttachEventStatement.cs
- XPathNavigatorReader.cs
- SettingsSavedEventArgs.cs
- PersistChildrenAttribute.cs
- MetadataImporterQuotas.cs
- AppDomainUnloadedException.cs
- CombinedGeometry.cs
- AppDomain.cs
- SurrogateEncoder.cs
- Grid.cs
- DummyDataSource.cs
- AssemblyInfo.cs
- IsolatedStorageException.cs
- KeyInterop.cs
- OpenFileDialog.cs
- PropertiesTab.cs
- LinqDataView.cs
- embossbitmapeffect.cs
- SafeEventLogWriteHandle.cs
- OutputCacheProfileCollection.cs
- ProtocolViolationException.cs
- DataTableReaderListener.cs
- UnitySerializationHolder.cs
- DataTableNameHandler.cs
- HuffmanTree.cs
- SupportingTokenListenerFactory.cs
- SqlRemoveConstantOrderBy.cs
- Matrix.cs
- SystemWebCachingSectionGroup.cs
- SiteMapNodeCollection.cs
- OleDbEnumerator.cs
- Validator.cs
- RecognizedAudio.cs
- Tokenizer.cs
- SelectionGlyphBase.cs
- NativeWindow.cs
- DataViewManagerListItemTypeDescriptor.cs
- EnlistmentState.cs
- ChangeTracker.cs
- SqlErrorCollection.cs
- CompiledELinqQueryState.cs
- DynamicDataExtensions.cs
- DataRelationPropertyDescriptor.cs
- Image.cs
- CodeSnippetCompileUnit.cs
- Baml6ConstructorInfo.cs
- XmlQueryTypeFactory.cs
- DataTableMapping.cs
- SessionStateModule.cs
- InternalsVisibleToAttribute.cs
- AsymmetricAlgorithm.cs
- TreeNodeBinding.cs
- CompilationLock.cs
- Activator.cs
- ListItemDetailViewAttribute.cs
- TextTrailingWordEllipsis.cs
- XhtmlBasicCalendarAdapter.cs
- ProtocolsSection.cs
- DuplexClientBase.cs
- TrustSection.cs
- SimpleWebHandlerParser.cs
- XmlChildNodes.cs
- InvalidFilterCriteriaException.cs
- ControlDesignerState.cs
- FaultPropagationQuery.cs
- ExecutedRoutedEventArgs.cs
- IdentityReference.cs
- Wizard.cs
- TextEditorTyping.cs
- MulticastDelegate.cs
- BasicHttpBindingElement.cs
- ResourceWriter.cs
- FlowNode.cs
- MembershipUser.cs
- HttpException.cs
- WindowsIdentity.cs
- Calendar.cs
- TrackingProfileCache.cs