Package org.lwjgl.system.windows
Class SECURITY_ATTRIBUTES
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.system.windows.SECURITY_ATTRIBUTES
-
- All Implemented Interfaces:
java.lang.AutoCloseable,NativeResource,Pointer
public class SECURITY_ATTRIBUTES extends Struct implements NativeResource
Contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. This structure provides security settings for objects created by various functions, such asCreateFile,CreatePipe,CreateProcess,RegCreateKeyEx, orRegSaveKeyEx.Member documentation
nLength– the size, in bytes, of this structure. Set this value toSIZEOF.lpSecurityDescriptor– a pointer to aSECURITY_DESCRIPTORstructure that controls access to the object. If the value of this member isNULL, the object is assigned the default security descriptor associated with the access token of the calling process. This is not the same as granting access to everyone by assigning aNULLdiscretionary access control list (DACL). By default, the default DACL in the access token of a process allows access only to the user represented by the access token.bInheritHandle– specifies whether the returned handle is inherited when a new process is created. If this member isTRUE, the new process inherits the handle.
Layout
struct SECURITY_ATTRIBUTES { DWORD nLength; LPVOID lpSecurityDescriptor; BOOL bInheritHandle; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSECURITY_ATTRIBUTES.BufferAn array ofSECURITY_ATTRIBUTESstructs.-
Nested classes/interfaces inherited from interface org.lwjgl.system.Pointer
Pointer.Default
-
-
Field Summary
Fields Modifier and Type Field Description static intALIGNOFThe struct alignment in bytes.static intBINHERITHANDLE
LPSECURITYDESCRIPTOR
NLENGTHThe struct member offsets.static intSIZEOFThe struct size in bytes.-
Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE
-
-
Constructor Summary
Constructors Constructor Description SECURITY_ATTRIBUTES(java.nio.ByteBuffer container)Creates aSECURITY_ATTRIBUTESinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbInheritHandle()Returns the value of thebInheritHandlefield.SECURITY_ATTRIBUTESbInheritHandle(boolean value)Sets the specified value to thebInheritHandlefield.static SECURITY_ATTRIBUTEScalloc()Returns a newSECURITY_ATTRIBUTESinstance allocated withmemCalloc.static SECURITY_ATTRIBUTES.Buffercalloc(int capacity)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withmemCalloc.static SECURITY_ATTRIBUTEScallocStack()Returns a newSECURITY_ATTRIBUTESinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static SECURITY_ATTRIBUTES.BuffercallocStack(int capacity)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static SECURITY_ATTRIBUTES.BuffercallocStack(int capacity, MemoryStack stack)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static SECURITY_ATTRIBUTEScallocStack(MemoryStack stack)Returns a newSECURITY_ATTRIBUTESinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static SECURITY_ATTRIBUTEScreate()Returns a newSECURITY_ATTRIBUTESinstance allocated withBufferUtils.static SECURITY_ATTRIBUTES.Buffercreate(int capacity)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withBufferUtils.static SECURITY_ATTRIBUTEScreate(long address)Returns a newSECURITY_ATTRIBUTESinstance for the specified memory address.static SECURITY_ATTRIBUTES.Buffercreate(long address, int capacity)Create aSECURITY_ATTRIBUTES.Bufferinstance at the specified memory.static SECURITY_ATTRIBUTEScreateSafe(long address)static SECURITY_ATTRIBUTES.BuffercreateSafe(long address, int capacity)longlpSecurityDescriptor()Returns the value of thelpSecurityDescriptorfield.SECURITY_ATTRIBUTESlpSecurityDescriptor(long value)Sets the specified value to thelpSecurityDescriptorfield.static SECURITY_ATTRIBUTESmalloc()Returns a newSECURITY_ATTRIBUTESinstance allocated withmemAlloc.static SECURITY_ATTRIBUTES.Buffermalloc(int capacity)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withmemAlloc.static SECURITY_ATTRIBUTESmallocStack()Returns a newSECURITY_ATTRIBUTESinstance allocated on the thread-localMemoryStack.static SECURITY_ATTRIBUTES.BuffermallocStack(int capacity)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the thread-localMemoryStack.static SECURITY_ATTRIBUTES.BuffermallocStack(int capacity, MemoryStack stack)Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the specifiedMemoryStack.static SECURITY_ATTRIBUTESmallocStack(MemoryStack stack)Returns a newSECURITY_ATTRIBUTESinstance allocated on the specifiedMemoryStack.static intnbInheritHandle(long struct)Unsafe version ofbInheritHandle().static voidnbInheritHandle(long struct, int value)Unsafe version ofbInheritHandle.intnLength()Returns the value of thenLengthfield.SECURITY_ATTRIBUTESnLength(int value)Sets the specified value to thenLengthfield.static longnlpSecurityDescriptor(long struct)Unsafe version oflpSecurityDescriptor().static voidnlpSecurityDescriptor(long struct, long value)Unsafe version oflpSecurityDescriptor.static intnnLength(long struct)Unsafe version ofnLength().static voidnnLength(long struct, int value)Unsafe version ofnLength.SECURITY_ATTRIBUTESset(int nLength, long lpSecurityDescriptor, boolean bInheritHandle)Initializes this struct with the specified values.SECURITY_ATTRIBUTESset(SECURITY_ATTRIBUTES src)Copies the specified struct data to this struct.intsizeof()Returnssizeof(struct).static voidvalidate(long struct)Validates pointer members that should not beNULL.static voidvalidate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.-
Methods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Methods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toString
-
-
-
-
Constructor Detail
-
SECURITY_ATTRIBUTES
public SECURITY_ATTRIBUTES(java.nio.ByteBuffer container)
Creates aSECURITY_ATTRIBUTESinstance at the current position of the specifiedByteBuffercontainer. Changes to the buffer's content will be visible to the struct instance and vice versa.The created instance holds a strong reference to the container object.
-
-
Method Detail
-
sizeof
public int sizeof()
Description copied from class:StructReturnssizeof(struct).
-
nLength
public int nLength()
Returns the value of thenLengthfield.
-
lpSecurityDescriptor
public long lpSecurityDescriptor()
Returns the value of thelpSecurityDescriptorfield.
-
bInheritHandle
public boolean bInheritHandle()
Returns the value of thebInheritHandlefield.
-
nLength
public SECURITY_ATTRIBUTES nLength(int value)
Sets the specified value to thenLengthfield.
-
lpSecurityDescriptor
public SECURITY_ATTRIBUTES lpSecurityDescriptor(long value)
Sets the specified value to thelpSecurityDescriptorfield.
-
bInheritHandle
public SECURITY_ATTRIBUTES bInheritHandle(boolean value)
Sets the specified value to thebInheritHandlefield.
-
set
public SECURITY_ATTRIBUTES set(int nLength, long lpSecurityDescriptor, boolean bInheritHandle)
Initializes this struct with the specified values.
-
set
public SECURITY_ATTRIBUTES set(SECURITY_ATTRIBUTES src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static SECURITY_ATTRIBUTES malloc()
Returns a newSECURITY_ATTRIBUTESinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static SECURITY_ATTRIBUTES calloc()
Returns a newSECURITY_ATTRIBUTESinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static SECURITY_ATTRIBUTES create()
Returns a newSECURITY_ATTRIBUTESinstance allocated withBufferUtils.
-
create
public static SECURITY_ATTRIBUTES create(long address)
Returns a newSECURITY_ATTRIBUTESinstance for the specified memory address.
-
createSafe
@Nullable public static SECURITY_ATTRIBUTES createSafe(long address)
-
malloc
public static SECURITY_ATTRIBUTES.Buffer malloc(int capacity)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static SECURITY_ATTRIBUTES.Buffer calloc(int capacity)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static SECURITY_ATTRIBUTES.Buffer create(int capacity)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static SECURITY_ATTRIBUTES.Buffer create(long address, int capacity)
Create aSECURITY_ATTRIBUTES.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static SECURITY_ATTRIBUTES.Buffer createSafe(long address, int capacity)
-
mallocStack
public static SECURITY_ATTRIBUTES mallocStack()
Returns a newSECURITY_ATTRIBUTESinstance allocated on the thread-localMemoryStack.
-
callocStack
public static SECURITY_ATTRIBUTES callocStack()
Returns a newSECURITY_ATTRIBUTESinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static SECURITY_ATTRIBUTES mallocStack(MemoryStack stack)
Returns a newSECURITY_ATTRIBUTESinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static SECURITY_ATTRIBUTES callocStack(MemoryStack stack)
Returns a newSECURITY_ATTRIBUTESinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
mallocStack
public static SECURITY_ATTRIBUTES.Buffer mallocStack(int capacity)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static SECURITY_ATTRIBUTES.Buffer callocStack(int capacity)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacity
-
mallocStack
public static SECURITY_ATTRIBUTES.Buffer mallocStack(int capacity, MemoryStack stack)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
callocStack
public static SECURITY_ATTRIBUTES.Buffer callocStack(int capacity, MemoryStack stack)
Returns a newSECURITY_ATTRIBUTES.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocatecapacity- the buffer capacity
-
nnLength
public static int nnLength(long struct)
Unsafe version ofnLength().
-
nlpSecurityDescriptor
public static long nlpSecurityDescriptor(long struct)
Unsafe version oflpSecurityDescriptor().
-
nbInheritHandle
public static int nbInheritHandle(long struct)
Unsafe version ofbInheritHandle().
-
nnLength
public static void nnLength(long struct, int value)Unsafe version ofnLength.
-
nlpSecurityDescriptor
public static void nlpSecurityDescriptor(long struct, long value)Unsafe version oflpSecurityDescriptor.
-
nbInheritHandle
public static void nbInheritHandle(long struct, int value)Unsafe version ofbInheritHandle.
-
validate
public static void validate(long struct)
Validates pointer members that should not beNULL.- Parameters:
struct- the struct to validate
-
validate
public static void validate(long array, int count)Callsvalidate(long)for each struct contained in the specified struct array.- Parameters:
array- the struct array to validatecount- the number of structs inarray
-
-