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
- FileLoadException.cs
- Resources.Designer.cs
- BasicHttpSecurityMode.cs
- XmlDataSourceNodeDescriptor.cs
- CounterSample.cs
- ConfigXmlAttribute.cs
- ExcCanonicalXml.cs
- CompiledRegexRunnerFactory.cs
- ExpressionParser.cs
- WebPartAddingEventArgs.cs
- BitmapMetadata.cs
- XmlToDatasetMap.cs
- ClientSettings.cs
- ListChunk.cs
- StateChangeEvent.cs
- SegmentTree.cs
- StructuralCache.cs
- SerializableAttribute.cs
- FlowNode.cs
- CodeTypeReferenceExpression.cs
- ScriptIgnoreAttribute.cs
- Identifier.cs
- TextCompositionManager.cs
- BamlLocalizableResourceKey.cs
- WebBrowser.cs
- PackWebResponse.cs
- BidOverLoads.cs
- BatchServiceHost.cs
- ColumnWidthChangingEvent.cs
- ErrorFormatter.cs
- FrameworkElementFactory.cs
- JoinCqlBlock.cs
- OdbcEnvironment.cs
- DataGridViewComboBoxEditingControl.cs
- ServerIdentity.cs
- ObfuscationAttribute.cs
- Wizard.cs
- SrgsRule.cs
- DockAndAnchorLayout.cs
- FloaterBaseParaClient.cs
- Shape.cs
- ObjectDataSourceDisposingEventArgs.cs
- BoolExpression.cs
- DrawingDrawingContext.cs
- HandlerFactoryWrapper.cs
- ConnectionManagementElement.cs
- ClientTargetCollection.cs
- RemotingException.cs
- NonDualMessageSecurityOverHttp.cs
- _ConnectionGroup.cs
- HttpBufferlessInputStream.cs
- RangeBase.cs
- DataSysAttribute.cs
- Identity.cs
- X509Certificate.cs
- CodeArrayIndexerExpression.cs
- ViewGenResults.cs
- MappingMetadataHelper.cs
- ReferenceConverter.cs
- DbMetaDataColumnNames.cs
- sqlstateclientmanager.cs
- PauseStoryboard.cs
- ConvertEvent.cs
- AnnotationObservableCollection.cs
- FlowLayoutPanelDesigner.cs
- WSUtilitySpecificationVersion.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- Separator.cs
- SqlSupersetValidator.cs
- AnimationLayer.cs
- WebPartTransformerAttribute.cs
- FormsAuthenticationUser.cs
- HelpInfo.cs
- ToolStripDropDownMenu.cs
- X509CertificateTrustedIssuerElementCollection.cs
- COM2ComponentEditor.cs
- TableRow.cs
- CodeSubDirectory.cs
- DesignerResources.cs
- XmlDataDocument.cs
- VBCodeProvider.cs
- Keyboard.cs
- ListBoxItem.cs
- ConsumerConnectionPoint.cs
- _CacheStreams.cs
- GlobalAllocSafeHandle.cs
- XmlSchemaSimpleType.cs
- InheritanceContextChangedEventManager.cs
- ScrollProperties.cs
- PageParser.cs
- Operand.cs
- TextInfo.cs
- ToolStripControlHost.cs
- HttpException.cs
- XmlHierarchyData.cs
- WebHttpBindingElement.cs
- FontFamilyConverter.cs
- TranslateTransform3D.cs
- RegularExpressionValidator.cs
- WsdlHelpGeneratorElement.cs