Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Security / Cryptography / X509Certificates / safex509handles.cs / 1305376 / 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 System.Runtime.Versioning; 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 [System.Security.SecurityCritical] // auto-generated 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 [ResourceExposure(ResourceScope.None)] [MethodImplAttribute(MethodImplOptions.InternalCall)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern void _FreePCertContext(IntPtr pCert); [System.Security.SecurityCritical] override protected bool ReleaseHandle() { _FreePCertContext(handle); return true; } } [System.Security.SecurityCritical] // auto-generated 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 [ResourceExposure(ResourceScope.None)] [MethodImplAttribute(MethodImplOptions.InternalCall)] [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)] private static extern void _FreeCertStoreContext(IntPtr hCertStore); [System.Security.SecurityCritical] override protected bool ReleaseHandle() { _FreeCertStoreContext(handle); return true; } } } // 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
- EnumMember.cs
- SmtpFailedRecipientException.cs
- CallbackException.cs
- SmtpFailedRecipientsException.cs
- ContentPlaceHolder.cs
- HierarchicalDataSourceConverter.cs
- RowCache.cs
- ToolStripItem.cs
- WebPartHelpVerb.cs
- XamlFxTrace.cs
- PrintDocument.cs
- XmlElementAttributes.cs
- URIFormatException.cs
- ColumnMapProcessor.cs
- DependencyObjectPropertyDescriptor.cs
- SmiRequestExecutor.cs
- TypeConverter.cs
- TextViewSelectionProcessor.cs
- AtlasWeb.Designer.cs
- ConfigurationSettings.cs
- SafeArrayTypeMismatchException.cs
- EndpointAddressProcessor.cs
- ServiceBusyException.cs
- RijndaelManagedTransform.cs
- XappLauncher.cs
- HandlerWithFactory.cs
- CompModSwitches.cs
- PageOutputQuality.cs
- Crypto.cs
- SlipBehavior.cs
- CodeCatchClauseCollection.cs
- DynamicPropertyReader.cs
- DetailsView.cs
- Matrix3D.cs
- AttributeQuery.cs
- TablePatternIdentifiers.cs
- StrokeCollection2.cs
- InkPresenterAutomationPeer.cs
- TextRangeEditLists.cs
- KeyTime.cs
- ReadOnlyDictionary.cs
- CodeIdentifier.cs
- xmlglyphRunInfo.cs
- ByteAnimationBase.cs
- QueryOutputWriter.cs
- SqlCharStream.cs
- ObjectListCommandEventArgs.cs
- IriParsingElement.cs
- Preprocessor.cs
- DataKey.cs
- shaper.cs
- XmlDataLoader.cs
- AuthenticationModuleElementCollection.cs
- SingleTagSectionHandler.cs
- EntityProviderFactory.cs
- IResourceProvider.cs
- DesignerTextBoxAdapter.cs
- DbConnectionPoolGroup.cs
- ToolStripStatusLabel.cs
- FieldBuilder.cs
- SpecularMaterial.cs
- ComplusTypeValidator.cs
- ContextMenuStripActionList.cs
- PocoPropertyAccessorStrategy.cs
- SelectedDatesCollection.cs
- WasNotInstalledException.cs
- DataKeyCollection.cs
- MetadataArtifactLoaderComposite.cs
- MergeFilterQuery.cs
- CancellationScope.cs
- SmtpTransport.cs
- DefaultValueTypeConverter.cs
- HttpRawResponse.cs
- ColorConvertedBitmap.cs
- RegionInfo.cs
- FileDialog_Vista_Interop.cs
- Timeline.cs
- EpmCustomContentSerializer.cs
- BodyGlyph.cs
- MaskedTextProvider.cs
- XmlSchemaExternal.cs
- ManagementException.cs
- Logging.cs
- BitmapEffectInput.cs
- DataGridCell.cs
- DataGridTable.cs
- ConfigurationElement.cs
- CopyCodeAction.cs
- NativeActivity.cs
- AppDomainFactory.cs
- ZoneIdentityPermission.cs
- TakeOrSkipWhileQueryOperator.cs
- Label.cs
- TagPrefixCollection.cs
- HwndMouseInputProvider.cs
- CompleteWizardStep.cs
- EventPropertyMap.cs
- SqlClientPermission.cs
- ExternalException.cs
- UInt64.cs