/// <summary>
 /// Get a list of accessible desktop objects.
 /// </summary>
 /// <param name="desired_access">The desired access for the desktops.</param>
 /// <returns>The list of desktops.</returns>
 public IEnumerable <NtDesktop> GetAccessibleDesktops(DesktopAccessRights desired_access)
 {
     foreach (string desktop in Desktops)
     {
         using (ObjectAttributes obj_attr = new ObjectAttributes(desktop, AttributeFlags.CaseInsensitive, this))
         {
             var result = NtDesktop.Open(obj_attr, 0, desired_access, false);
             if (result.IsSuccess)
             {
                 yield return(result.Result);
             }
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Get a list of accessible desktop objects.
 /// </summary>
 /// <param name="desired_access">The desired access for the desktops.</param>
 /// <returns>The list of desktops.</returns>
 public IEnumerable <NtDesktop> GetAccessibleDesktops(DesktopAccessRights desired_access)
 {
     using (var list = new DisposableList <NtDesktop>()) {
         foreach (string desktop in Desktops)
         {
             using (ObjectAttributes obj_attr = new ObjectAttributes(desktop, AttributeFlags.CaseInsensitive, this)) {
                 var result = NtDesktop.Open(obj_attr, 0, desired_access, false);
                 if (result.IsSuccess)
                 {
                     list.Add(result.Result);
                 }
             }
         }
         return(list.ToArrayAndClear());
     }
 }
Exemplo n.º 3
0
 public void AddAccessRule(IdentityReference identityReference, DesktopAccessRights accessMask, AccessControlType type)
 {
     AddAccessRule(new DesktopAccessRule(identityReference, accessMask, type));
 }
Exemplo n.º 4
0
 public static extern IntPtr OpenInputDesktop(int dwFlags, bool fInherit, DesktopAccessRights dwDesiredAccess);
Exemplo n.º 5
0
 public static extern IntPtr OpenDesktop(string lpszDesktop, int dwFlags, bool fInherit, DesktopAccessRights dwDesiredAccess);
Exemplo n.º 6
0
 public void AddAuditRule(IdentityReference identityReference, DesktopAccessRights accessMask, AuditFlags flags)
 {
     AddAuditRule(new DesktopAuditRule(identityReference, accessMask, flags));
 }
Exemplo n.º 7
0
 public static extern DesktopHandle OpenDesktop(string desktop, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess);
Exemplo n.º 8
0
 static extern IntPtr OpenDesktop(string lpszDesktop, int dwFlags, bool fInherit, DesktopAccessRights dwDesiredAccess);
        public IDesktop Open(string name, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess)
        {
            var handle = DesktopHandle.Open(name, flags, inherit, desiredAccess);

            return(new Desktop(handle));
        }
Exemplo n.º 10
0
 public static extern SafeKernelObjectHandle NtUserOpenDesktop(
     ObjectAttributes ObjectAttributes, CreateDesktopFlags Flags,
     DesktopAccessRights DesiredAccess);
Exemplo n.º 11
0
 public IDesktop Open(string name, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess)
 {
     var handle = DesktopHandle.Open(name, flags, inherit, desiredAccess);
     return new Desktop(handle);
 }
Exemplo n.º 12
0
 public static extern IntPtr CreateDesktop(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, int dwFlags, DesktopAccessRights dwDesiredAccess, IntPtr lpsa);
Exemplo n.º 13
0
 public static extern IntPtr OpenInputDesktop(int dwFlags, bool fInherit, DesktopAccessRights dwDesiredAccess);
Exemplo n.º 14
0
 public DesktopAuditRule(IdentityReference identity, DesktopAccessRights accessRights, AuditFlags type)
     : base(identity, (int)accessRights, false, InheritanceFlags.None, PropagationFlags.None, type)
 {
 }
Exemplo n.º 15
0
 public void AddAuditRule(IdentityReference identityReference, DesktopAccessRights accessMask, AuditFlags flags)
 {
     AddAuditRule(new DesktopAuditRule(identityReference, accessMask, flags));
 }
Exemplo n.º 16
0
 public static extern SafeKernelObjectHandle NtUserCreateDesktopEx(
     ObjectAttributes ObjectAttributes, UnicodeString Device,
     DEVMODE DevMode, CreateDesktopFlags Flags,
     DesktopAccessRights DesiredAccess,
     int HeapSize);
Exemplo n.º 17
0
 public DesktopAuditRule(IdentityReference identity, DesktopAccessRights accessRights, AuditFlags type)
     : base(identity, (int)accessRights, false, InheritanceFlags.None, PropagationFlags.None, type)
 {
 }
Exemplo n.º 18
0
 public static extern DesktopHandle OpenDesktop(string desktop, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess);
 public static extern SafeKernelObjectHandle NtUserOpenWindowStation(
     ObjectAttributes ObjectAttributes,
     DesktopAccessRights DesiredAccess);
Exemplo n.º 20
0
 public static DesktopHandle Open(string name, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess)
 {
     return(NativeMethods.OpenDesktop(name, flags, inherit, desiredAccess));
 }
Exemplo n.º 21
0
 public static DesktopHandle Open(string name, DesktopOpenFlags flags, bool inherit, DesktopAccessRights desiredAccess)
 {
     return NativeMethods.OpenDesktop(name, flags, inherit, desiredAccess);
 }
Exemplo n.º 22
0
 public static extern IntPtr CreateDesktop(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, int dwFlags, DesktopAccessRights dwDesiredAccess, IntPtr lpsa);
Exemplo n.º 23
0
 protected override sealed NtResult <NtDesktop> OpenInternal(ObjectAttributes obj_attributes,
                                                             DesktopAccessRights desired_access, bool throw_on_error)
 {
     return(NtDesktop.Open(obj_attributes, CreateDesktopFlags.None, desired_access, throw_on_error));
 }
Exemplo n.º 24
0
 public void AddAccessRule(IdentityReference identityReference, DesktopAccessRights accessMask, AccessControlType type)
 {
     AddAccessRule(new DesktopAccessRule(identityReference, accessMask, type));
 }