Class SECURITY_ATTRIBUTES

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<SECURITY_ATTRIBUTES>
org.lwjgl.system.windows.SECURITY_ATTRIBUTES
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class SECURITY_ATTRIBUTES extends org.lwjgl.system.Struct<SECURITY_ATTRIBUTES> implements org.lwjgl.system.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 as CreateFile, CreatePipe, CreateProcess, RegCreateKeyEx, or RegSaveKeyEx.

Layout


 struct SECURITY_ATTRIBUTES {
     DWORD nLength();
     LPVOID lpSecurityDescriptor();
     BOOL bInheritHandle();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • NLENGTH

      public static final int NLENGTH
      The struct member offsets.
    • LPSECURITYDESCRIPTOR

      public static final int LPSECURITYDESCRIPTOR
      The struct member offsets.
    • BINHERITHANDLE

      public static final int BINHERITHANDLE
      The struct member offsets.
  • Constructor Details

    • SECURITY_ATTRIBUTES

      public SECURITY_ATTRIBUTES(ByteBuffer container)
      Creates a SECURITY_ATTRIBUTES instance at the current position of the specified ByteBuffer container. 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 Details

    • sizeof

      public int sizeof()
      Specified by:
      sizeof in class org.lwjgl.system.Struct<SECURITY_ATTRIBUTES>
    • nLength

      public int nLength()
      the size, in bytes, of this structure. Set this value to SIZEOF.
    • lpSecurityDescriptor

      public long lpSecurityDescriptor()
      a pointer to a SECURITY_DESCRIPTOR structure that controls access to the object. If the value of this member is NULL, 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 a NULL discretionary 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

      public boolean bInheritHandle()
      specifies whether the returned handle is inherited when a new process is created. If this member is TRUE, the new process inherits the handle.
    • nLength

      public SECURITY_ATTRIBUTES nLength(int value)
      Sets the specified value to the nLength() field.
    • lpSecurityDescriptor

      public SECURITY_ATTRIBUTES lpSecurityDescriptor(long value)
      Sets the specified value to the lpSecurityDescriptor() field.
    • bInheritHandle

      public SECURITY_ATTRIBUTES bInheritHandle(boolean value)
      Sets the specified value to the bInheritHandle() field.
    • set

      public SECURITY_ATTRIBUTES set(int nLength, long lpSecurityDescriptor, boolean bInheritHandle)
      Initializes this struct with the specified values.
    • set

      Copies the specified struct data to this struct.
      Parameters:
      src - the source struct
      Returns:
      this struct
    • malloc

      public static SECURITY_ATTRIBUTES malloc()
      Returns a new SECURITY_ATTRIBUTES instance allocated with memAlloc. The instance must be explicitly freed.
    • calloc

      public static SECURITY_ATTRIBUTES calloc()
      Returns a new SECURITY_ATTRIBUTES instance allocated with memCalloc. The instance must be explicitly freed.
    • create

      public static SECURITY_ATTRIBUTES create()
      Returns a new SECURITY_ATTRIBUTES instance allocated with BufferUtils.
    • create

      public static SECURITY_ATTRIBUTES create(long address)
      Returns a new SECURITY_ATTRIBUTES instance for the specified memory address.
    • createSafe

      @Nullable public static SECURITY_ATTRIBUTES createSafe(long address)
      Like create, but returns null if address is NULL.
    • malloc

      public static SECURITY_ATTRIBUTES.Buffer malloc(int capacity)
      Returns a new SECURITY_ATTRIBUTES.Buffer instance allocated with memAlloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • calloc

      public static SECURITY_ATTRIBUTES.Buffer calloc(int capacity)
      Returns a new SECURITY_ATTRIBUTES.Buffer instance allocated with memCalloc. The instance must be explicitly freed.
      Parameters:
      capacity - the buffer capacity
    • create

      public static SECURITY_ATTRIBUTES.Buffer create(int capacity)
      Returns a new SECURITY_ATTRIBUTES.Buffer instance allocated with BufferUtils.
      Parameters:
      capacity - the buffer capacity
    • create

      public static SECURITY_ATTRIBUTES.Buffer create(long address, int capacity)
      Create a SECURITY_ATTRIBUTES.Buffer instance at the specified memory.
      Parameters:
      address - the memory address
      capacity - the buffer capacity
    • createSafe

      @Nullable public static SECURITY_ATTRIBUTES.Buffer createSafe(long address, int capacity)
      Like create, but returns null if address is NULL.
    • mallocStack

      @Deprecated public static SECURITY_ATTRIBUTES mallocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static SECURITY_ATTRIBUTES callocStack()
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static SECURITY_ATTRIBUTES mallocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.
    • callocStack

      @Deprecated public static SECURITY_ATTRIBUTES callocStack(org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.
    • mallocStack

      @Deprecated public static SECURITY_ATTRIBUTES.Buffer mallocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static SECURITY_ATTRIBUTES.Buffer callocStack(int capacity)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • mallocStack

      @Deprecated public static SECURITY_ATTRIBUTES.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.
    • callocStack

      @Deprecated public static SECURITY_ATTRIBUTES.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
      Deprecated.
      Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.
    • malloc

      public static SECURITY_ATTRIBUTES malloc(org.lwjgl.system.MemoryStack stack)
      Returns a new SECURITY_ATTRIBUTES instance allocated on the specified MemoryStack.
      Parameters:
      stack - the stack from which to allocate
    • calloc

      public static SECURITY_ATTRIBUTES calloc(org.lwjgl.system.MemoryStack stack)
      Returns a new SECURITY_ATTRIBUTES instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      stack - the stack from which to allocate
    • malloc

      public static SECURITY_ATTRIBUTES.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new SECURITY_ATTRIBUTES.Buffer instance allocated on the specified MemoryStack.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • calloc

      public static SECURITY_ATTRIBUTES.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack)
      Returns a new SECURITY_ATTRIBUTES.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
      Parameters:
      capacity - the buffer capacity
      stack - the stack from which to allocate
    • nnLength

      public static int nnLength(long struct)
      Unsafe version of nLength().
    • nlpSecurityDescriptor

      public static long nlpSecurityDescriptor(long struct)
      Unsafe version of lpSecurityDescriptor().
    • nbInheritHandle

      public static int nbInheritHandle(long struct)
      Unsafe version of bInheritHandle().
    • nnLength

      public static void nnLength(long struct, int value)
      Unsafe version of nLength.
    • nlpSecurityDescriptor

      public static void nlpSecurityDescriptor(long struct, long value)
      Unsafe version of lpSecurityDescriptor.
    • nbInheritHandle

      public static void nbInheritHandle(long struct, int value)
      Unsafe version of bInheritHandle.
    • validate

      public static void validate(long struct)
      Validates pointer members that should not be NULL.
      Parameters:
      struct - the struct to validate