Class VkImportMemoryWin32HandleInfoKHR

  • All Implemented Interfaces:
    java.lang.AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

    public class VkImportMemoryWin32HandleInfoKHR
    extends org.lwjgl.system.Struct
    implements org.lwjgl.system.NativeResource
    import Win32 memory created on the same physical device.
    Description

    Importing memory objects from Windows handles does not transfer ownership of the handle to the Vulkan implementation. For handle types defined as NT handles, the application must release ownership using the CloseHandle system call when the handle is no longer needed.

    Applications can import the same underlying memory into multiple instances of Vulkan, into the same instance from which it was exported, and multiple times into a given Vulkan instance. In all cases, each import operation must create a distinct VkDeviceMemory object.

    Valid Usage
    Valid Usage (Implicit)

    Member documentation

    • sType – the type of this structure.
    • pNextNULL or a pointer to an extension-specific structure.
    • handleType – specifies the type of handle or name.
    • handle – the external handle to import, or NULL.
    • name – a NULL-terminated UTF-16 string naming the underlying memory resource to import, or NULL.

    Layout

    
     struct VkImportMemoryWin32HandleInfoKHR {
         VkStructureType sType;
         void const * pNext;
         VkExternalMemoryHandleTypeFlagBits handleType;
         HANDLE handle;
         LPCWSTR name;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, HANDLETYPE, HANDLE, NAME

        The struct member offsets.
    • Constructor Detail

      • VkImportMemoryWin32HandleInfoKHR

        public VkImportMemoryWin32HandleInfoKHR​(java.nio.ByteBuffer container)
        Creates a VkImportMemoryWin32HandleInfoKHR 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 Detail

      • sizeof

        public int sizeof()
        Specified by:
        sizeof in class org.lwjgl.system.Struct
      • sType

        public int sType()
        Returns the value of the sType field.
      • pNext

        public long pNext()
        Returns the value of the pNext field.
      • handleType

        public int handleType()
        Returns the value of the handleType field.
      • handle

        public long handle()
        Returns the value of the handle field.
      • name

        public java.nio.ByteBuffer name()
        Returns a ByteBuffer view of the null-terminated string pointed to by the name field.
      • nameString

        public java.lang.String nameString()
        Decodes the null-terminated string pointed to by the name field.
      • set

        public VkImportMemoryWin32HandleInfoKHR set​(int sType,
                                                    long pNext,
                                                    int handleType,
                                                    long handle,
                                                    java.nio.ByteBuffer name)
        Initializes this struct with the specified values.
      • malloc

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

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

        public static VkImportMemoryWin32HandleInfoKHR create​(long address)
        Returns a new VkImportMemoryWin32HandleInfoKHR instance for the specified memory address.
      • mallocStack

        public static VkImportMemoryWin32HandleInfoKHR mallocStack()
        Returns a new VkImportMemoryWin32HandleInfoKHR instance allocated on the thread-local MemoryStack.
      • callocStack

        public static VkImportMemoryWin32HandleInfoKHR callocStack()
        Returns a new VkImportMemoryWin32HandleInfoKHR instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
      • mallocStack

        public static VkImportMemoryWin32HandleInfoKHR mallocStack​(org.lwjgl.system.MemoryStack stack)
        Returns a new VkImportMemoryWin32HandleInfoKHR instance allocated on the specified MemoryStack.
        Parameters:
        stack - the stack from which to allocate
      • callocStack

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

        public static int nsType​(long struct)
        Unsafe version of sType().
      • npNext

        public static long npNext​(long struct)
        Unsafe version of pNext().
      • nhandleType

        public static int nhandleType​(long struct)
        Unsafe version of handleType().
      • nhandle

        public static long nhandle​(long struct)
        Unsafe version of handle().
      • nname

        public static java.nio.ByteBuffer nname​(long struct)
        Unsafe version of name().
      • nnameString

        public static java.lang.String nnameString​(long struct)
        Unsafe version of nameString().
      • nsType

        public static void nsType​(long struct,
                                  int value)
        Unsafe version of sType.
      • npNext

        public static void npNext​(long struct,
                                  long value)
        Unsafe version of pNext.
      • nhandleType

        public static void nhandleType​(long struct,
                                       int value)
        Unsafe version of handleType.
      • nhandle

        public static void nhandle​(long struct,
                                   long value)
        Unsafe version of handle.
      • nname

        public static void nname​(long struct,
                                 java.nio.ByteBuffer value)
        Unsafe version of name.
      • validate

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

        public static void validate​(long array,
                                    int count)
        Calls validate(long) for each struct contained in the specified struct array.
        Parameters:
        array - the struct array to validate
        count - the number of structs in array