Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Security / Cryptography / X509Certificates / safex509handles.cs / 1 / safex509handles.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // // SafeX509Handles.cs // namespace System.Security.Cryptography.X509Certificates { using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using System.Runtime.ConstrainedExecution; using Microsoft.Win32.SafeHandles; // Since we need sometimes to delete the key container associated with a cert // context, the handle used in this class is actually a pointer // to a CERT_CTX unmanaged structure defined in COMX509Certificate.h internal sealed class SafeCertContextHandle : SafeHandleZeroOrMinusOneIsInvalid { private SafeCertContextHandle() : base (true) {} // 0 is an Invalid Handle internal SafeCertContextHandle(IntPtr handle) : base (true) { SetHandle(handle); } internal static SafeCertContextHandle InvalidHandle { get { return new SafeCertContextHandle(IntPtr.Zero); } } internal IntPtr pCertContext { get { if (handle == IntPtr.Zero) return IntPtr.Zero; return Marshal.ReadIntPtr(handle); } } // This method handles the case where pCert == NULL [MethodImplAttribute(MethodImplOptions.InternalCall)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern void _FreePCertContext(IntPtr pCert); override protected bool ReleaseHandle() { _FreePCertContext(handle); return true; } } internal sealed class SafeCertStoreHandle : SafeHandleZeroOrMinusOneIsInvalid { private SafeCertStoreHandle() : base (true) {} // 0 is an Invalid Handle internal SafeCertStoreHandle(IntPtr handle) : base (true) { SetHandle(handle); } internal static SafeCertStoreHandle InvalidHandle { get { return new SafeCertStoreHandle(IntPtr.Zero); } } // This method handles the case where hCertStore == NULL [MethodImplAttribute(MethodImplOptions.InternalCall)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern void _FreeCertStoreContext(IntPtr hCertStore); override protected bool ReleaseHandle() { _FreeCertStoreContext(handle); return true; } } } // 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
- HandledMouseEvent.cs
- MonitoringDescriptionAttribute.cs
- XmlElementCollection.cs
- Constraint.cs
- ErrorTableItemStyle.cs
- RegisteredDisposeScript.cs
- InstanceDescriptor.cs
- SelectionRangeConverter.cs
- ReadOnlyHierarchicalDataSource.cs
- ContractSearchPattern.cs
- CompositeDataBoundControl.cs
- BitmapPalettes.cs
- HTMLTextWriter.cs
- DaylightTime.cs
- BmpBitmapEncoder.cs
- baseaxisquery.cs
- EditingScope.cs
- XmlTextAttribute.cs
- Matrix.cs
- MediaPlayer.cs
- CategoryEditor.cs
- DesignerAttribute.cs
- CommandValueSerializer.cs
- XD.cs
- SectionInformation.cs
- EDesignUtil.cs
- UIElement.cs
- TypeDescriptorFilterService.cs
- ColumnCollectionEditor.cs
- XmlRawWriterWrapper.cs
- OdbcConnectionPoolProviderInfo.cs
- OdbcUtils.cs
- AspNetCompatibilityRequirementsMode.cs
- DateTimeFormat.cs
- PointAnimation.cs
- DesignerSerializationManager.cs
- ManagementNamedValueCollection.cs
- StrongNameUtility.cs
- PropertyItemInternal.cs
- CaseInsensitiveComparer.cs
- TableLayoutPanelCodeDomSerializer.cs
- AttachedAnnotationChangedEventArgs.cs
- LinqDataSourceValidationException.cs
- StorageSetMapping.cs
- VScrollBar.cs
- ExtractorMetadata.cs
- StrokeIntersection.cs
- XamlTypeMapperSchemaContext.cs
- EventItfInfo.cs
- DataServiceClientException.cs
- SmiContextFactory.cs
- DropDownHolder.cs
- PackageRelationship.cs
- SafeNativeMethods.cs
- RelationshipNavigation.cs
- ColorConvertedBitmapExtension.cs
- UrlAuthFailedErrorFormatter.cs
- PropertyRef.cs
- UpdateCommand.cs
- EntityClientCacheEntry.cs
- InputMethodStateTypeInfo.cs
- InputManager.cs
- VersionPair.cs
- ServiceBehaviorElementCollection.cs
- SmtpDigestAuthenticationModule.cs
- ToolStripLocationCancelEventArgs.cs
- TextOptionsInternal.cs
- BulletChrome.cs
- RelationshipDetailsRow.cs
- sitestring.cs
- SymmetricAlgorithm.cs
- MediaPlayerState.cs
- MapPathBasedVirtualPathProvider.cs
- NetworkInformationPermission.cs
- ExtensibleClassFactory.cs
- XamlSerializerUtil.cs
- NamespaceDecl.cs
- JobCollate.cs
- SettingsBase.cs
- WebBaseEventKeyComparer.cs
- ThemeDirectoryCompiler.cs
- TemplateBuilder.cs
- PresentationSource.cs
- StreamHelper.cs
- List.cs
- RelativeSource.cs
- RtfFormatStack.cs
- StateBag.cs
- ToolStripPanelRow.cs
- XmlSchemaParticle.cs
- SamlAuthorizationDecisionClaimResource.cs
- SocketCache.cs
- FileReader.cs
- DataTemplate.cs
- ProxyHelper.cs
- CodeChecksumPragma.cs
- XmlQualifiedNameTest.cs
- SingleObjectCollection.cs
- DesignerDeviceConfig.cs
- OleDbErrorCollection.cs