Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / Microsoft / Win32 / SafeHandles / SafeRegistryHandle.cs / 1 / SafeRegistryHandle.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: SafeRegistryHandle ** ** ** A wrapper for registry handles ** ** ===========================================================*/ using System; using System.Security; using System.Security.Permissions; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; namespace Microsoft.Win32.SafeHandles { internal sealed class SafeRegistryHandle : SafeHandleZeroOrMinusOneIsInvalid { // Note: Officially -1 is the recommended invalid handle value for // registry keys, but we'll also get back 0 as an invalid handle from // RegOpenKeyEx. [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeRegistryHandle() : base(true) {} [SecurityPermission(SecurityAction.LinkDemand, UnmanagedCode=true)] internal SafeRegistryHandle(IntPtr preexistingHandle, bool ownsHandle) : base(ownsHandle) { SetHandle(preexistingHandle); } [DllImport(Win32Native.ADVAPI32), SuppressUnmanagedCodeSecurity, ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern int RegCloseKey(IntPtr hKey); override protected bool ReleaseHandle() { // Returns a Win32 error code, 0 for success int r = RegCloseKey(handle); return r == 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CommandBindingCollection.cs
- HttpModuleActionCollection.cs
- WebControl.cs
- NonParentingControl.cs
- MarkupExtensionReturnTypeAttribute.cs
- ToolStripDropDown.cs
- AnnouncementInnerClient11.cs
- NotificationContext.cs
- WindowsFormsSynchronizationContext.cs
- _OverlappedAsyncResult.cs
- CommandSet.cs
- AttributeEmitter.cs
- ErrorFormatterPage.cs
- WmlCalendarAdapter.cs
- HttpCachePolicyWrapper.cs
- XmlSchemaSubstitutionGroup.cs
- __TransparentProxy.cs
- SmtpMail.cs
- DebugView.cs
- LoginAutoFormat.cs
- DomainConstraint.cs
- WebBrowsableAttribute.cs
- Pair.cs
- SimpleType.cs
- WebRequestModuleElement.cs
- PasswordBoxAutomationPeer.cs
- Brush.cs
- SuspendDesigner.cs
- TimeSpanValidatorAttribute.cs
- DoubleKeyFrameCollection.cs
- UrlPath.cs
- TransportBindingElement.cs
- Mouse.cs
- XhtmlConformanceSection.cs
- OdbcDataReader.cs
- ReflectTypeDescriptionProvider.cs
- XslNumber.cs
- CreateParams.cs
- TraceLevelStore.cs
- PageDeviceFont.cs
- CryptographicAttribute.cs
- Automation.cs
- SqlDataSourceQueryConverter.cs
- DateTimeOffset.cs
- SecurityPermission.cs
- HeaderElement.cs
- ColorInterpolationModeValidation.cs
- TargetParameterCountException.cs
- GatewayDefinition.cs
- SqlFunctionAttribute.cs
- StylusPointPropertyId.cs
- ParameterBuilder.cs
- SecurityHelper.cs
- LongPath.cs
- XmlILIndex.cs
- GridErrorDlg.cs
- RuntimeWrappedException.cs
- SHA256Managed.cs
- sqlnorm.cs
- CompoundFileIOPermission.cs
- LinkConverter.cs
- CurrentChangingEventManager.cs
- GridSplitter.cs
- ColumnProvider.cs
- KeyValuePair.cs
- SerializationStore.cs
- FontFamily.cs
- SspiSafeHandles.cs
- FacetValueContainer.cs
- SqlGatherConsumedAliases.cs
- RadioButtonList.cs
- SystemMulticastIPAddressInformation.cs
- QueryResponse.cs
- ExpressionBuilder.cs
- ConfigXmlComment.cs
- OdbcConnectionFactory.cs
- UnaryExpressionHelper.cs
- GridView.cs
- InstallHelper.cs
- MembershipSection.cs
- Propagator.cs
- Compiler.cs
- XmlDocumentFragment.cs
- DictionarySectionHandler.cs
- PeerApplicationLaunchInfo.cs
- XPathParser.cs
- SettingsSavedEventArgs.cs
- RequestCacheValidator.cs
- BitSet.cs
- ItemList.cs
- SystemResources.cs
- MachineKeyConverter.cs
- XPathMessageFilterElement.cs
- ObjectQueryState.cs
- EncoderFallback.cs
- PathFigureCollectionConverter.cs
- XmlSignificantWhitespace.cs
- InitializerFacet.cs
- XmlJsonReader.cs
- ModuleElement.cs