Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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. // // ==--== // // 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TreeNode.cs
- CacheSection.cs
- TemplatedWizardStep.cs
- DateTimeHelper.cs
- FastPropertyAccessor.cs
- CodeGenerator.cs
- EventSetterHandlerConverter.cs
- TextPointer.cs
- InstanceDescriptor.cs
- ParameterToken.cs
- ParserExtension.cs
- ExpressionConverter.cs
- ReflectTypeDescriptionProvider.cs
- RegisteredScript.cs
- ObjectDataSourceChooseMethodsPanel.cs
- RowToParametersTransformer.cs
- Annotation.cs
- PropertyOrder.cs
- DataGridSortCommandEventArgs.cs
- EventRoute.cs
- ClientSession.cs
- TemplateComponentConnector.cs
- ScriptComponentDescriptor.cs
- UrlUtility.cs
- PagerStyle.cs
- RuleRefElement.cs
- PersonalizationState.cs
- PositiveTimeSpanValidatorAttribute.cs
- MediaContext.cs
- Assign.cs
- UndoManager.cs
- SQLRoleProvider.cs
- CheckableControlBaseAdapter.cs
- ApplicationTrust.cs
- XPathDocument.cs
- VectorAnimationBase.cs
- MimeObjectFactory.cs
- UIntPtr.cs
- COM2AboutBoxPropertyDescriptor.cs
- Vector3DCollectionValueSerializer.cs
- SqlConnectionPoolProviderInfo.cs
- StringUtil.cs
- CrossSiteScriptingValidation.cs
- Tablet.cs
- DashStyle.cs
- Exceptions.cs
- XmlSerializationReader.cs
- AudioFormatConverter.cs
- DbCommandDefinition.cs
- ScriptingJsonSerializationSection.cs
- Keyboard.cs
- ForwardPositionQuery.cs
- GroupItem.cs
- DataBoundLiteralControl.cs
- LineSegment.cs
- Keyboard.cs
- PeerNameRegistration.cs
- Compress.cs
- Quad.cs
- altserialization.cs
- WebPartEditorApplyVerb.cs
- Stack.cs
- EventSinkHelperWriter.cs
- Delay.cs
- ArrayItemValue.cs
- DoubleCollection.cs
- InstanceKeyView.cs
- TagPrefixInfo.cs
- BaseHashHelper.cs
- XmlCharCheckingReader.cs
- XmlTextReaderImpl.cs
- HandoffBehavior.cs
- SourceChangedEventArgs.cs
- OleDbWrapper.cs
- x509utils.cs
- DataBindingCollection.cs
- DataGridViewToolTip.cs
- _ConnectionGroup.cs
- DateTimeOffset.cs
- HMACRIPEMD160.cs
- MarkupObject.cs
- JournalEntryListConverter.cs
- SubclassTypeValidator.cs
- smtpconnection.cs
- DockAndAnchorLayout.cs
- FormatSettings.cs
- BuildProviderCollection.cs
- StylusButtonCollection.cs
- DesignerValidatorAdapter.cs
- EditCommandColumn.cs
- AncestorChangedEventArgs.cs
- SQLUtility.cs
- ContentPlaceHolder.cs
- DataGridTextBox.cs
- TreeViewHitTestInfo.cs
- validation.cs
- ViewManagerAttribute.cs
- EpmCustomContentSerializer.cs
- ScriptReferenceBase.cs
- PtsContext.cs