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
- TreeViewImageKeyConverter.cs
- TextDecorationCollection.cs
- CfgArc.cs
- RenderingEventArgs.cs
- GlobalizationSection.cs
- ServicesUtilities.cs
- TableCell.cs
- ListViewInsertedEventArgs.cs
- NativeObjectSecurity.cs
- SolidColorBrush.cs
- AnnotationHelper.cs
- SystemIcons.cs
- URLMembershipCondition.cs
- RequestBringIntoViewEventArgs.cs
- TemplateNameScope.cs
- QilStrConcatenator.cs
- ListBoxItemAutomationPeer.cs
- SeparatorAutomationPeer.cs
- GridLength.cs
- ScopelessEnumAttribute.cs
- DeclarationUpdate.cs
- IIS7UserPrincipal.cs
- AmbientLight.cs
- XMLDiffLoader.cs
- SQLMoneyStorage.cs
- ProviderIncompatibleException.cs
- AccessedThroughPropertyAttribute.cs
- RemotingConfiguration.cs
- RootDesignerSerializerAttribute.cs
- StandardToolWindows.cs
- NetMsmqBindingElement.cs
- DesignerAdapterAttribute.cs
- FileFormatException.cs
- ThreadExceptionDialog.cs
- _DigestClient.cs
- MostlySingletonList.cs
- AdapterUtil.cs
- Pair.cs
- ResetableIterator.cs
- DotNetATv1WindowsLogEntryDeserializer.cs
- ComboBox.cs
- PageCopyCount.cs
- CompressEmulationStream.cs
- XsltSettings.cs
- ImportContext.cs
- XsdDataContractImporter.cs
- ListSortDescriptionCollection.cs
- WindowsGraphics2.cs
- baseshape.cs
- HttpModulesSection.cs
- ColorConverter.cs
- IndentedWriter.cs
- AnyReturnReader.cs
- SetStoryboardSpeedRatio.cs
- SafeIUnknown.cs
- ProfileSettingsCollection.cs
- QueryContinueDragEventArgs.cs
- _HTTPDateParse.cs
- DbConnectionPoolOptions.cs
- TransactionException.cs
- ErrorLog.cs
- ConnectionPoint.cs
- XslVisitor.cs
- CompiledIdentityConstraint.cs
- AuthenticationServiceManager.cs
- Matrix.cs
- WebPageTraceListener.cs
- Int32Rect.cs
- HwndKeyboardInputProvider.cs
- SqlDataSourceCache.cs
- SerializableAttribute.cs
- SoapExtensionStream.cs
- MarkupExtensionParser.cs
- Certificate.cs
- Boolean.cs
- TCEAdapterGenerator.cs
- BridgeDataRecord.cs
- ToolStripSystemRenderer.cs
- WorkflowWebService.cs
- FixedSOMLineCollection.cs
- WmlTextViewAdapter.cs
- SqlFunctionAttribute.cs
- XamlReaderHelper.cs
- LocalizeDesigner.cs
- XmlSchemaSet.cs
- ConfigurationValue.cs
- ControlAdapter.cs
- BindingsCollection.cs
- TemplateKey.cs
- Message.cs
- XslCompiledTransform.cs
- UnsafeNativeMethods.cs
- DiagnosticTraceRecords.cs
- StorageMappingFragment.cs
- ListDictionary.cs
- JsonReader.cs
- HttpContextServiceHost.cs
- KeyboardEventArgs.cs
- HybridWebProxyFinder.cs
- CreateUserErrorEventArgs.cs