2017-07-05 23:24:38 +02:00
|
|
|
# Microsoft.Win32.SafeHandles
|
|
|
|
|
|
|
|
``` diff
|
|
|
|
+namespace Microsoft.Win32.SafeHandles {
|
|
|
|
+ public sealed class SafeAccessTokenHandle : SafeHandle {
|
|
|
|
+ public SafeAccessTokenHandle(IntPtr handle);
|
|
|
|
+ public static SafeAccessTokenHandle InvalidHandle { get; }
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeFileHandle : SafeHandle {
|
|
|
|
+ public SafeFileHandle(IntPtr preexistingHandle, bool ownsHandle);
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public abstract class SafeHandleZeroOrMinusOneIsInvalid : SafeHandle {
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeMemoryMappedFileHandle : SafeHandle {
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeMemoryMappedViewHandle : SafeBuffer {
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public abstract class SafeNCryptHandle : SafeHandle {
|
|
|
|
+ protected SafeNCryptHandle();
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ protected abstract bool ReleaseNativeHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeNCryptKeyHandle : SafeNCryptHandle {
|
|
|
|
+ public SafeNCryptKeyHandle();
|
|
|
|
+ protected override bool ReleaseNativeHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeNCryptProviderHandle : SafeNCryptHandle {
|
|
|
|
+ public SafeNCryptProviderHandle();
|
|
|
|
+ protected override bool ReleaseNativeHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeNCryptSecretHandle : SafeNCryptHandle {
|
|
|
|
+ public SafeNCryptSecretHandle();
|
|
|
|
+ protected override bool ReleaseNativeHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafePipeHandle : SafeHandle {
|
|
|
|
+ public SafePipeHandle(IntPtr preexistingHandle, bool ownsHandle);
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeProcessHandle : SafeHandle {
|
|
|
|
+ public SafeProcessHandle(IntPtr existingHandle, bool ownsHandle);
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeRegistryHandle : SafeHandle {
|
|
|
|
+ public SafeRegistryHandle(IntPtr preexistingHandle, bool ownsHandle);
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeWaitHandle : SafeHandle {
|
|
|
|
+ public SafeWaitHandle(IntPtr existingHandle, bool ownsHandle);
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+ public sealed class SafeX509ChainHandle : SafeHandle {
|
|
|
|
+ public override bool IsInvalid { get; }
|
|
|
|
+ protected override bool ReleaseHandle();
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
```
|
|
|
|
|