# Microsoft.Win32.SafeHandles

``` diff
 namespace Microsoft.Win32.SafeHandles {
     public abstract class SafeNCryptHandle : SafeHandleZeroOrMinusOneIsInvalid {
-        protected SafeNCryptHandle();
+        [SupportedOSPlatformAttribute("windows")]
+        protected SafeNCryptHandle();
-        protected SafeNCryptHandle(IntPtr handle, SafeHandle parentHandle);
+        [SupportedOSPlatformAttribute("windows")]
+        protected SafeNCryptHandle(IntPtr handle, SafeHandle parentHandle);
-        public override bool IsInvalid { get; }
     }
     public sealed class SafeNCryptKeyHandle : SafeNCryptHandle {
-        public SafeNCryptKeyHandle();
+        [SupportedOSPlatformAttribute("windows")]
+        public SafeNCryptKeyHandle();
-        public SafeNCryptKeyHandle(IntPtr handle, SafeHandle parentHandle);
+        [SupportedOSPlatformAttribute("windows")]
+        public SafeNCryptKeyHandle(IntPtr handle, SafeHandle parentHandle);
     }
     public sealed class SafeNCryptProviderHandle : SafeNCryptHandle {
-        public SafeNCryptProviderHandle();
+        [SupportedOSPlatformAttribute("windows")]
+        public SafeNCryptProviderHandle();
     }
     public sealed class SafeNCryptSecretHandle : SafeNCryptHandle {
-        public SafeNCryptSecretHandle();
+        [SupportedOSPlatformAttribute("windows")]
+        public SafeNCryptSecretHandle();
     }
 }
```

