public PrivateNamespaceHandle(BoundaryDescriptor boundaryDescriptor, string aliasPrefix)
        {
            this.Handle = Win32.OpenPrivateNamespace(boundaryDescriptor.Descriptor, aliasPrefix);

            if (this.Handle == IntPtr.Zero)
            {
                this.MarkAsInvalid();
                Win32.ThrowLastError();
            }
        }
        public PrivateNamespaceHandle(BoundaryDescriptor boundaryDescriptor, string aliasPrefix)
        {
            this.Handle = Win32.OpenPrivateNamespace(boundaryDescriptor.Descriptor, aliasPrefix);

            if (this.Handle == IntPtr.Zero)
            {
                this.MarkAsInvalid();
                Win32.ThrowLastError();
            }
        }
        public static PrivateNamespaceHandle Create(BoundaryDescriptor boundaryDescriptor, string aliasPrefix)
        {
            IntPtr handle = IntPtr.Zero;

            handle = Win32.CreatePrivateNamespace(IntPtr.Zero, boundaryDescriptor.Descriptor, aliasPrefix);

            if (handle == IntPtr.Zero)
                Win32.ThrowLastError();

            return new PrivateNamespaceHandle(handle, true);
        }
        public static PrivateNamespaceHandle Create(BoundaryDescriptor boundaryDescriptor, string aliasPrefix)
        {
            IntPtr handle = IntPtr.Zero;

            handle = Win32.CreatePrivateNamespace(IntPtr.Zero, boundaryDescriptor.Descriptor, aliasPrefix);

            if (handle == IntPtr.Zero)
            {
                Win32.ThrowLastError();
            }

            return(new PrivateNamespaceHandle(handle, true));
        }