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
- PointCollectionConverter.cs
- ToolStripManager.cs
- SystemNetHelpers.cs
- PartitionResolver.cs
- EntitySetRetriever.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- XmlSchemaObjectTable.cs
- XmlMemberMapping.cs
- XmlSchemaObject.cs
- WindowsFormsHostPropertyMap.cs
- Membership.cs
- util.cs
- WebBrowsableAttribute.cs
- ResourceReferenceExpression.cs
- SessionIDManager.cs
- FrameworkContextData.cs
- ClientTargetCollection.cs
- ApplicationServiceManager.cs
- XPathNodeList.cs
- InstanceHandle.cs
- XmlStreamStore.cs
- WebHttpBinding.cs
- PropertyChangedEventArgs.cs
- Timeline.cs
- AssociationTypeEmitter.cs
- ProfilePropertySettingsCollection.cs
- Random.cs
- KeyValueConfigurationElement.cs
- SignatureGenerator.cs
- StylusButtonEventArgs.cs
- ObjectSet.cs
- x509store.cs
- PropertyGridEditorPart.cs
- PointF.cs
- Enum.cs
- XpsTokenContext.cs
- FileLogRecord.cs
- CallSiteBinder.cs
- BasicExpressionVisitor.cs
- SortQuery.cs
- PageContent.cs
- CodeSubDirectory.cs
- HWStack.cs
- WebPartRestoreVerb.cs
- CompiledRegexRunner.cs
- OdbcConnectionPoolProviderInfo.cs
- DocumentPageTextView.cs
- EntityViewGenerationAttribute.cs
- CodeMethodInvokeExpression.cs
- MemoryPressure.cs
- Point.cs
- TargetParameterCountException.cs
- HttpProfileBase.cs
- MetadataItemEmitter.cs
- MenuItemCollection.cs
- DashStyle.cs
- SecurityImpersonationBehavior.cs
- Interlocked.cs
- XmlReflectionImporter.cs
- ColorMatrix.cs
- PkcsMisc.cs
- Color.cs
- XmlObjectSerializerReadContextComplex.cs
- ConfigurationValidatorBase.cs
- ModuleElement.cs
- FileDialogPermission.cs
- OpenTypeCommon.cs
- PrintPageEvent.cs
- FormsAuthenticationUser.cs
- UIElementHelper.cs
- SubpageParaClient.cs
- UICuesEvent.cs
- OdbcError.cs
- SiteMapPath.cs
- DragStartedEventArgs.cs
- SamlAttributeStatement.cs
- MenuItemStyleCollection.cs
- RowSpanVector.cs
- ACL.cs
- FlagsAttribute.cs
- WinInet.cs
- ResourceExpressionBuilder.cs
- HttpHandlersSection.cs
- CanonicalFontFamilyReference.cs
- ColumnResizeAdorner.cs
- XmlSecureResolver.cs
- InputLanguage.cs
- PageTheme.cs
- RefreshEventArgs.cs
- TypeElement.cs
- DropShadowBitmapEffect.cs
- MasterPageCodeDomTreeGenerator.cs
- PageHandlerFactory.cs
- StyleSheetDesigner.cs
- AttachmentCollection.cs
- RecordConverter.cs
- TextBlock.cs
- InvalidProgramException.cs
- Pkcs7Recipient.cs
- AbandonedMutexException.cs