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
- SQLInt64.cs
- RealizationDrawingContextWalker.cs
- _StreamFramer.cs
- SmtpReplyReader.cs
- TagMapCollection.cs
- SessionState.cs
- PrivilegeNotHeldException.cs
- RequestCachingSection.cs
- NullableIntSumAggregationOperator.cs
- Clipboard.cs
- ProviderManager.cs
- NullableDecimalSumAggregationOperator.cs
- PageStatePersister.cs
- Literal.cs
- XsdCachingReader.cs
- FacetChecker.cs
- ProfessionalColorTable.cs
- ControlCachePolicy.cs
- VirtualDirectoryMapping.cs
- OutputCacheSettings.cs
- DataSourceControl.cs
- BindingExpression.cs
- _LocalDataStoreMgr.cs
- DivideByZeroException.cs
- VectorAnimationUsingKeyFrames.cs
- InputReferenceExpression.cs
- DataStorage.cs
- FileChangesMonitor.cs
- ISessionStateStore.cs
- WizardStepBase.cs
- CompoundFileDeflateTransform.cs
- WizardDesigner.cs
- ValueConversionAttribute.cs
- XmlSerializationWriter.cs
- Margins.cs
- HttpCacheVary.cs
- ProtocolReflector.cs
- DataGrid.cs
- Pen.cs
- DataStreams.cs
- Brush.cs
- ControlCachePolicy.cs
- SessionSwitchEventArgs.cs
- DesignerOptionService.cs
- FileSystemWatcher.cs
- MetabaseSettingsIis7.cs
- DecimalSumAggregationOperator.cs
- Separator.cs
- TreeNodeMouseHoverEvent.cs
- XmlNamespaceDeclarationsAttribute.cs
- XMLUtil.cs
- HttpCapabilitiesSectionHandler.cs
- XamlReaderHelper.cs
- RegexParser.cs
- MobileRedirect.cs
- ObjectListCommandsPage.cs
- ClientApiGenerator.cs
- ListParagraph.cs
- SqlAggregateChecker.cs
- IISMapPath.cs
- DebuggerService.cs
- CustomCategoryAttribute.cs
- FixedSOMLineRanges.cs
- NameValuePair.cs
- RealizationDrawingContextWalker.cs
- SortFieldComparer.cs
- AppSettings.cs
- GlyphElement.cs
- TransactionInformation.cs
- SoapParser.cs
- SecurityBindingElement.cs
- GridViewRowPresenterBase.cs
- TargetConverter.cs
- RayMeshGeometry3DHitTestResult.cs
- NetworkStream.cs
- PaintEvent.cs
- UserControlDocumentDesigner.cs
- HttpServerUtilityWrapper.cs
- WindowsListViewItemStartMenu.cs
- XPathException.cs
- RequiredFieldValidator.cs
- GradientStop.cs
- TimelineGroup.cs
- BridgeDataReader.cs
- WorkflowMarkupElementEventArgs.cs
- ButtonColumn.cs
- ClientTarget.cs
- AppDomainProtocolHandler.cs
- ListSortDescriptionCollection.cs
- ProcessRequestArgs.cs
- StateInitialization.cs
- Identifier.cs
- PropertyMap.cs
- SrgsGrammarCompiler.cs
- SafeNativeMethods.cs
- Sequence.cs
- URLIdentityPermission.cs
- SafeNativeMethods.cs
- _PooledStream.cs
- PropertyMap.cs