com.sun.jna.platform.win32.AccCtrl Maven / Gradle / Ivy
Show all versions of jna-platform Show documentation
/* Copyright (c) 2015 Adam Marcionek, All Rights Reserved
*
* The contents of this file is dual-licensed under 2
* alternative Open Source/Free licenses: LGPL 2.1 or later and
* Apache License 2.0. (starting with JNA version 4.0.0).
*
* You can freely decide which license you want to apply to
* the project.
*
* You may obtain a copy of the LGPL License at:
*
* http://www.gnu.org/licenses/licenses.html
*
* A copy is also included in the downloadable source code package
* containing JNA, in file "LGPL2.1".
*
* You may obtain a copy of the Apache License at:
*
* http://www.apache.org/licenses/
*
* A copy is also included in the downloadable source code package
* containing JNA, in file "AL2.0".
*/
package com.sun.jna.platform.win32;
import com.sun.jna.win32.StdCallLibrary;
/**
* Ported from AccCtrl.h.
* Microsoft Windows SDK 7.1
* @author amarcionek[at]gmail.com
*/
public abstract class AccCtrl implements StdCallLibrary {
/**
* The SE_OBJECT_TYPE enumeration contains values that correspond to the
* types of Windows objects that support security. The functions, such as
* GetSecurityInfo and SetSecurityInfo, that set and retrieve the security
* information of an object, use these values to indicate the type of
* object.
*/
public abstract class SE_OBJECT_TYPE {
/**
* Unknown object type.
*/
public static final int SE_UNKNOWN_OBJECT_TYPE = 0;
/**
* Indicates a file or directory. The name string that identifies a file
* or directory object can be in one of the following formats:
*
* A relative path, such as FileName.dat or ..\FileName An absolute
* path, such as FileName.dat, C:\DirectoryName\FileName.dat, or
* G:\RemoteDirectoryName\FileName.dat. A UNC name, such as
* \\ComputerName\ShareName\FileName.dat.
*/
public static final int SE_FILE_OBJECT = 1;
/**
* Indicates a Windows service. A service object can be a local service,
* such as ServiceName, or a remote service, such as
* \\ComputerName\ServiceName.
*/
public static final int SE_SERVICE = 2;
/**
* Indicates a printer. A printer object can be a local printer, such as
* PrinterName, or a remote printer, such as \\ComputerName\PrinterName.
*/
public static final int SE_PRINTER = 3;
/**
* Indicates a registry key. A registry key object can be in the local
* registry, such as CLASSES_ROOT\SomePath or in a remote registry, such
* as \\ComputerName\CLASSES_ROOT\SomePath.
*
* The names of registry keys must use the following literal strings to
* identify the predefined registry keys: "CLASSES_ROOT",
* "CURRENT_USER", "MACHINE", and "USERS".
*/
public static final int SE_REGISTRY_KEY = 4;
/**
* Indicates a network share. A share object can be local, such as
* ShareName, or remote, such as \\ComputerName\ShareName.
*/
public static final int SE_LMSHARE = 5;
/**
* Indicates a local kernel object. The GetSecurityInfo and
* SetSecurityInfo functions support all types of kernel objects. The
* GetNamedSecurityInfo and SetNamedSecurityInfo functions work only
* with the following kernel objects: semaphore, event, mutex, waitable
* timer, and file mapping.
*/
public static final int SE_KERNEL_OBJECT = 6;
/**
* Indicates a window station or desktop object on the local computer.
* You cannot use GetNamedSecurityInfo and SetNamedSecurityInfo with
* these objects because the names of window stations or desktops are
* not unique.
*/
public static final int SE_WINDOW_OBJECT = 7;
/**
* Indicates a directory service object or a property set or property of
* a directory service object. The name string for a directory service
* object must be in X.500 form, for example:
* CN=SomeObject,OU=ou2,OU=ou1,DC=DomainName,DC=CompanyName,DC=com,O=internet
*/
public static final int SE_DS_OBJECT = 8;
/**
* The server process can impersonate the client's security context on
* remote systems.
*/
public static final int SE_DS_OBJECT_ALL = 9;
/**
* Indicates a provider-defined object.
*/
public static final int SE_PROVIDER_DEFINED_OBJECT = 10;
/**
* Indicates a WMI object.
*/
public static final int SE_WMIGUID_OBJECT = 11;
/**
* Indicates an object for a registry entry under WOW64.
*/
public static final int SE_REGISTRY_WOW64_32KEY = 12;
}
}