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
- SystemColors.cs
- MatrixValueSerializer.cs
- XmlWrappingWriter.cs
- _ProxyChain.cs
- FunctionMappingTranslator.cs
- SafeLocalMemHandle.cs
- NavigationWindow.cs
- WindowsToolbarAsMenu.cs
- AutoSizeComboBox.cs
- ContentDisposition.cs
- BevelBitmapEffect.cs
- ObjectViewEntityCollectionData.cs
- WebPartManagerInternals.cs
- UxThemeWrapper.cs
- GeneralTransformCollection.cs
- HtmlProps.cs
- clipboard.cs
- ImageSource.cs
- SchemaLookupTable.cs
- HierarchicalDataTemplate.cs
- SafeCryptoHandles.cs
- XmlResolver.cs
- ToggleButton.cs
- Rotation3DAnimation.cs
- EmptyElement.cs
- MessageSecurityOverTcpElement.cs
- WebBrowserNavigatingEventHandler.cs
- ArgumentsParser.cs
- CapabilitiesSection.cs
- ResolveDuplexAsyncResult.cs
- SimpleWorkerRequest.cs
- cryptoapiTransform.cs
- HttpListenerContext.cs
- NativeMethods.cs
- HttpProfileGroupBase.cs
- Label.cs
- HostedElements.cs
- SecurityPermission.cs
- DataGridTable.cs
- FontNamesConverter.cs
- ContractReference.cs
- DataList.cs
- CompModSwitches.cs
- WebBrowserSiteBase.cs
- PropertyValue.cs
- WindowsTreeView.cs
- SystemUnicastIPAddressInformation.cs
- BasicDesignerLoader.cs
- HtmlEmptyTagControlBuilder.cs
- Tokenizer.cs
- RequestCache.cs
- StylusButtonCollection.cs
- ExpressionNode.cs
- ToolboxBitmapAttribute.cs
- TextEndOfSegment.cs
- StructuredProperty.cs
- x509utils.cs
- HttpContext.cs
- StorageAssociationTypeMapping.cs
- Expander.cs
- ScanQueryOperator.cs
- HtmlGenericControl.cs
- TickBar.cs
- ProxyHwnd.cs
- LinqDataSourceView.cs
- WorkflowStateRollbackService.cs
- CollectionView.cs
- TableRow.cs
- TextSelectionHighlightLayer.cs
- Assembly.cs
- AbsoluteQuery.cs
- SqlIdentifier.cs
- BinaryFormatter.cs
- ModifierKeysValueSerializer.cs
- SystemResources.cs
- DLinqDataModelProvider.cs
- ToolStripSplitButton.cs
- CorePropertiesFilter.cs
- SqlDataSourceSelectingEventArgs.cs
- HtmlTable.cs
- Stacktrace.cs
- ShapingWorkspace.cs
- ServiceXNameTypeConverter.cs
- AlignmentXValidation.cs
- DelegatedStream.cs
- HtmlUtf8RawTextWriter.cs
- DrawingVisual.cs
- SymmetricSecurityBindingElement.cs
- basenumberconverter.cs
- ToolStripTextBox.cs
- CodeAccessSecurityEngine.cs
- LinqDataSourceContextEventArgs.cs
- ContextMenu.cs
- InkCanvasFeedbackAdorner.cs
- FlowDocumentPage.cs
- RuleInfoComparer.cs
- XmlNode.cs
- TypedTableBase.cs
- SystemUnicastIPAddressInformation.cs
- Help.cs