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
- WindowsBrush.cs
- PropertyExpression.cs
- SessionPageStateSection.cs
- HWStack.cs
- PartialList.cs
- DesignerView.xaml.cs
- ProjectionPathBuilder.cs
- FieldToken.cs
- Bold.cs
- CategoryGridEntry.cs
- DelegateSerializationHolder.cs
- AccessKeyManager.cs
- RadioButton.cs
- MyContact.cs
- ExpressionBindingCollection.cs
- WebPageTraceListener.cs
- ArraySegment.cs
- CheckBoxStandardAdapter.cs
- IntersectQueryOperator.cs
- MetabaseReader.cs
- BindingBase.cs
- HtmlForm.cs
- OleDbRowUpdatedEvent.cs
- ObjectStateFormatter.cs
- ExpandoObject.cs
- ActivityWithResult.cs
- HtmlTableRowCollection.cs
- SQLSingleStorage.cs
- WebPartEventArgs.cs
- TableDetailsCollection.cs
- Size3DConverter.cs
- ToolStripDropTargetManager.cs
- HttpStreamFormatter.cs
- RuleElement.cs
- DataGridAutoFormatDialog.cs
- DesignerActionMethodItem.cs
- CanonicalFormWriter.cs
- EntityDataSourceContextCreatedEventArgs.cs
- AddInPipelineAttributes.cs
- TypeSystem.cs
- RTLAwareMessageBox.cs
- BrowserCapabilitiesFactoryBase.cs
- ControlUtil.cs
- HtmlAnchor.cs
- StandardCommands.cs
- oledbmetadatacollectionnames.cs
- BindingSource.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- TextEditor.cs
- FixedSOMTableCell.cs
- TemplateBuilder.cs
- MatrixIndependentAnimationStorage.cs
- RequestCacheManager.cs
- ClientSponsor.cs
- HttpCookiesSection.cs
- ZeroOpNode.cs
- UpdateRecord.cs
- smtpconnection.cs
- GeneralTransform3DTo2D.cs
- SmtpFailedRecipientException.cs
- IPAddress.cs
- PermissionSet.cs
- HtmlEncodedRawTextWriter.cs
- FilterQuery.cs
- DynamicAttribute.cs
- filewebrequest.cs
- ContentElementAutomationPeer.cs
- TabControlDesigner.cs
- MetadataSerializer.cs
- DataBinding.cs
- PageCatalogPart.cs
- StateDesigner.LayoutSelectionGlyph.cs
- ViewPort3D.cs
- xsdvalidator.cs
- SecurityTokenException.cs
- ToolStripContainer.cs
- LayoutInformation.cs
- XmlValidatingReaderImpl.cs
- MultiByteCodec.cs
- UnsafePeerToPeerMethods.cs
- PrimaryKeyTypeConverter.cs
- XmlSchemaComplexContentExtension.cs
- XmlSchemaImport.cs
- TraceEventCache.cs
- XmlSchemaCollection.cs
- TextSpanModifier.cs
- TypeNameConverter.cs
- IUnknownConstantAttribute.cs
- Environment.cs
- IisTraceWebEventProvider.cs
- AspNetRouteServiceHttpHandler.cs
- DbDataRecord.cs
- DataStorage.cs
- DataViewSetting.cs
- UIElementAutomationPeer.cs
- EdmProperty.cs
- RuntimeUtils.cs
- CodeDomExtensionMethods.cs
- SqlOuterApplyReducer.cs
- SourceChangedEventArgs.cs