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
- SafeRegistryHandle.cs
- XmlHierarchicalDataSourceView.cs
- SerializationEventsCache.cs
- propertyentry.cs
- UIElementParaClient.cs
- MenuCommand.cs
- ObjectListField.cs
- XsltSettings.cs
- IPEndPoint.cs
- TcpClientCredentialType.cs
- DependsOnAttribute.cs
- TypeUtils.cs
- WindowsRebar.cs
- CodeSubDirectory.cs
- WeakReadOnlyCollection.cs
- RotationValidation.cs
- TemplatePagerField.cs
- TextBoxView.cs
- RegularExpressionValidator.cs
- ToolBarButton.cs
- PopupRoot.cs
- EventSetter.cs
- OleDbParameterCollection.cs
- WebPartCatalogCloseVerb.cs
- KeyValuePair.cs
- EntityFrameworkVersions.cs
- JulianCalendar.cs
- ParentUndoUnit.cs
- EventRecord.cs
- ToolStripSeparator.cs
- AssemblyCacheEntry.cs
- Context.cs
- SpeechEvent.cs
- EntityDataSourceWizardForm.cs
- StoreAnnotationsMap.cs
- Stroke.cs
- UnmanagedMemoryStream.cs
- WSSecurityPolicy11.cs
- oledbmetadatacolumnnames.cs
- PageAdapter.cs
- ToolStripManager.cs
- CharAnimationBase.cs
- HttpGetProtocolReflector.cs
- ContentControl.cs
- ContainsRowNumberChecker.cs
- QuaternionAnimation.cs
- BufferedStream2.cs
- OLEDB_Util.cs
- SparseMemoryStream.cs
- CountAggregationOperator.cs
- ScriptResourceDefinition.cs
- XdrBuilder.cs
- MimeTypeAttribute.cs
- CredentialCache.cs
- PropertyItemInternal.cs
- PartitionResolver.cs
- RelationshipEndMember.cs
- keycontainerpermission.cs
- Visitors.cs
- IndexedString.cs
- Calendar.cs
- DynamicResourceExtensionConverter.cs
- InvalidTimeZoneException.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- FormatException.cs
- TextWriterTraceListener.cs
- QilTernary.cs
- Enum.cs
- TagMapInfo.cs
- IdentitySection.cs
- EmbeddedMailObjectsCollection.cs
- HostingEnvironment.cs
- MergePropertyDescriptor.cs
- InkCollectionBehavior.cs
- GroupItemAutomationPeer.cs
- SecurityCookieModeValidator.cs
- XamlToRtfWriter.cs
- PanelDesigner.cs
- System.Data.OracleClient_BID.cs
- DataServiceHostWrapper.cs
- NetNamedPipeBindingCollectionElement.cs
- DataStreamFromComStream.cs
- SqlBulkCopyColumnMapping.cs
- ZoneLinkButton.cs
- ElementNotAvailableException.cs
- BaseTypeViewSchema.cs
- MobileListItem.cs
- SqlDataSourceWizardForm.cs
- ProtocolsSection.cs
- DataGridViewCellMouseEventArgs.cs
- InstanceDescriptor.cs
- KnownAssembliesSet.cs
- PropertyGridEditorPart.cs
- Variant.cs
- input.cs
- Context.cs
- ChangeToolStripParentVerb.cs
- InheritanceUI.cs
- FrameworkElementFactoryMarkupObject.cs
- X509ClientCertificateAuthentication.cs