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
- PipelineModuleStepContainer.cs
- List.cs
- BinaryWriter.cs
- Automation.cs
- AncillaryOps.cs
- DatagramAdapter.cs
- ServiceBusyException.cs
- ServerValidateEventArgs.cs
- SpeechSynthesizer.cs
- PreProcessInputEventArgs.cs
- ReferenceEqualityComparer.cs
- CheckBox.cs
- tooltip.cs
- Dispatcher.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- AddInControllerImpl.cs
- StoreItemCollection.Loader.cs
- DateTimeFormatInfoScanner.cs
- CheckableControlBaseAdapter.cs
- HttpListenerResponse.cs
- ScriptingJsonSerializationSection.cs
- ProcessModelInfo.cs
- SQLSingle.cs
- NegotiateStream.cs
- CursorInteropHelper.cs
- Context.cs
- SqlPersonalizationProvider.cs
- KeyValuePair.cs
- StylusPlugin.cs
- EntityModelSchemaGenerator.cs
- WrappedDispatcherException.cs
- FileDialogPermission.cs
- EntityProviderFactory.cs
- ReaderOutput.cs
- PolyQuadraticBezierSegment.cs
- FusionWrap.cs
- ComNativeDescriptor.cs
- ColorConverter.cs
- ThousandthOfEmRealPoints.cs
- AssemblyName.cs
- MaterializeFromAtom.cs
- ParameterBinding.cs
- DataServiceConfiguration.cs
- IgnoreSectionHandler.cs
- PolyBezierSegmentFigureLogic.cs
- DataExpression.cs
- ColumnCollection.cs
- InstanceOwner.cs
- ObjectIDGenerator.cs
- AttachedAnnotationChangedEventArgs.cs
- ContainsRowNumberChecker.cs
- KoreanCalendar.cs
- OledbConnectionStringbuilder.cs
- HtmlTable.cs
- MLangCodePageEncoding.cs
- BitmapEffectGroup.cs
- RemotingServices.cs
- Selection.cs
- SecuritySessionSecurityTokenAuthenticator.cs
- PixelFormats.cs
- XmlValidatingReaderImpl.cs
- DataListCommandEventArgs.cs
- ArrayExtension.cs
- StandardCommands.cs
- ColumnProvider.cs
- dbenumerator.cs
- HandlerMappingMemo.cs
- DataSourceViewSchemaConverter.cs
- BitStack.cs
- XmlDigitalSignatureProcessor.cs
- MetadataUtil.cs
- OdbcConnectionStringbuilder.cs
- SqlNodeAnnotations.cs
- TypographyProperties.cs
- DockAndAnchorLayout.cs
- ObjectPersistData.cs
- FileDataSourceCache.cs
- AdPostCacheSubstitution.cs
- ReflectionTypeLoadException.cs
- DataSourceCache.cs
- SupportingTokenSpecification.cs
- ObjRef.cs
- WebSysDescriptionAttribute.cs
- ModelVisual3D.cs
- OutputCacheSettingsSection.cs
- SqlNamer.cs
- WebBrowser.cs
- Transform.cs
- FixedFlowMap.cs
- CodeNamespaceImportCollection.cs
- SQLBytesStorage.cs
- CodePrimitiveExpression.cs
- TrustSection.cs
- InProcStateClientManager.cs
- BCryptNative.cs
- WriteableBitmap.cs
- SetStoryboardSpeedRatio.cs
- TimeoutValidationAttribute.cs
- AuthorizationSection.cs
- DataViewSettingCollection.cs