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
- BaseTemplateParser.cs
- EncoderReplacementFallback.cs
- SelectionManager.cs
- Int16KeyFrameCollection.cs
- DuplicateMessageDetector.cs
- ADMembershipProvider.cs
- IProducerConsumerCollection.cs
- ExecutionProperties.cs
- Int32Converter.cs
- CorrelationExtension.cs
- TypeFieldSchema.cs
- ResizingMessageFilter.cs
- TextServicesDisplayAttributePropertyRanges.cs
- WindowsNonControl.cs
- IteratorFilter.cs
- SystemSounds.cs
- GenericUI.cs
- TextServicesCompartmentContext.cs
- ListViewDataItem.cs
- IPHostEntry.cs
- MultiSelectRootGridEntry.cs
- RegisteredDisposeScript.cs
- CharacterMetricsDictionary.cs
- ListBoxItem.cs
- IntegerFacetDescriptionElement.cs
- HtmlContainerControl.cs
- METAHEADER.cs
- ConfigViewGenerator.cs
- ViewManager.cs
- EntityCommandExecutionException.cs
- DivideByZeroException.cs
- Point.cs
- XPathSelectionIterator.cs
- CacheOutputQuery.cs
- ListParaClient.cs
- CopyAttributesAction.cs
- CharacterHit.cs
- PerformanceCounterLib.cs
- Helper.cs
- SettingsPropertyWrongTypeException.cs
- SafeFileMappingHandle.cs
- SiteMapDataSourceView.cs
- FormClosingEvent.cs
- VisualBasicExpressionConverter.cs
- PageRouteHandler.cs
- CuspData.cs
- StyleBamlRecordReader.cs
- DefaultValueTypeConverter.cs
- XmlSchemaAttribute.cs
- ObjectListField.cs
- _NegoStream.cs
- AttachInfo.cs
- PeerToPeerException.cs
- ReadOnlyTernaryTree.cs
- DisableDpiAwarenessAttribute.cs
- DictionaryGlobals.cs
- SQLDateTimeStorage.cs
- MenuDesigner.cs
- ColorDialog.cs
- DeferredElementTreeState.cs
- PerformanceCounterManager.cs
- LinqDataSource.cs
- FtpWebResponse.cs
- IndicShape.cs
- ObjectItemCollection.cs
- ThreadNeutralSemaphore.cs
- TargetPerspective.cs
- SpStreamWrapper.cs
- StreamSecurityUpgradeAcceptor.cs
- Update.cs
- MeshGeometry3D.cs
- PenLineJoinValidation.cs
- RangeValueProviderWrapper.cs
- GlobalEventManager.cs
- DesignerRegionMouseEventArgs.cs
- ValidatingReaderNodeData.cs
- OleDbCommand.cs
- FormViewRow.cs
- AuthorizationContext.cs
- TextCompositionManager.cs
- ValidationResult.cs
- SystemUdpStatistics.cs
- OracleCommandBuilder.cs
- Base64Encoder.cs
- SQLInt16.cs
- DesignerSelectionListAdapter.cs
- TypefaceMetricsCache.cs
- ImageAnimator.cs
- TypeHelpers.cs
- PolyLineSegmentFigureLogic.cs
- ISAPIRuntime.cs
- AbandonedMutexException.cs
- BatchParser.cs
- ImageButton.cs
- WebScriptEnablingElement.cs
- MeasurementDCInfo.cs
- TraceSource.cs
- PixelShader.cs
- PointUtil.cs
- XmlIgnoreAttribute.cs