Class GPU_DEVICE

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

    public class GPU_DEVICE
    extends Struct
    implements NativeResource
    Receives information about the display device specified by the deviceIndex parameter of the EnumGpuDevicesNV function.

    Member documentation

    • cb – the size of the GPU_DEVICE structure. Before calling EnumGpuDevicesNV, set cb to the size, in bytes, of GPU_DEVICE.
    • DeviceName – a string identifying the display device name. This will be the same string as stored in the DeviceName field of the DISPLAY_DEVICE structure, which is filled in by EnumDisplayDevices.
    • DeviceString – a string describing the GPU for this display device. It is the same string as stored in the DeviceString field in the DISPLAY_DEVICE structure that is filled in by EnumDisplayDevices when it describes a display adapter (and not a monitor).
    • Flags – indicates the state of the display device
    • rcVirtualScreen – specifies the display device rectangle, in virtual screen coordinates. The value of rcVirtualScreen is undefined if the device is not part of the desktop, i.e. DISPLAY_DEVICE_ATTACHED_TO_DESKTOP is not set in the Flags field.

    Layout

    
     struct GPU_DEVICE {
         DWORD cb;
         CHAR DeviceName[32];
         CHAR DeviceString[128];
         DWORD Flags;
         RECT rcVirtualScreen;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • CB, DEVICENAME, DEVICESTRING, FLAGS, RCVIRTUALSCREEN

        The struct member offsets.
    • Constructor Detail

      • GPU_DEVICE

        public GPU_DEVICE​(java.nio.ByteBuffer container)
        Creates a GPU_DEVICE 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()
        Description copied from class: Struct
        Returns sizeof(struct).
        Specified by:
        sizeof in class Struct
      • cb

        public int cb()
        Returns the value of the cb field.
      • DeviceName

        public java.nio.ByteBuffer DeviceName()
        Returns a ByteBuffer view of the DeviceName field.
      • DeviceNameString

        public java.lang.String DeviceNameString()
        Decodes the null-terminated string stored in the DeviceName field.
      • DeviceString

        public java.nio.ByteBuffer DeviceString()
        Returns a ByteBuffer view of the DeviceString field.
      • DeviceStringString

        public java.lang.String DeviceStringString()
        Decodes the null-terminated string stored in the DeviceString field.
      • Flags

        public int Flags()
        Returns the value of the Flags field.
      • rcVirtualScreen

        public RECT rcVirtualScreen()
        Returns a RECT view of the rcVirtualScreen field.
      • rcVirtualScreen

        public GPU_DEVICE rcVirtualScreen​(java.util.function.Consumer<RECT> consumer)
        Passes the rcVirtualScreen field to the specified Consumer.
      • malloc

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

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

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

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

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

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

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

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

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

        public static GPU_DEVICE.Buffer callocStack​(int capacity)
        Returns a new GPU_DEVICE.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.
        Parameters:
        capacity - the buffer capacity
      • callocStack

        public static GPU_DEVICE.Buffer callocStack​(int capacity,
                                                    MemoryStack stack)
        Returns a new GPU_DEVICE.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.
        Parameters:
        stack - the stack from which to allocate
        capacity - the buffer capacity
      • ncb

        public static int ncb​(long struct)
        Unsafe version of cb().
      • nDeviceName

        public static java.nio.ByteBuffer nDeviceName​(long struct)
        Unsafe version of DeviceName().
      • nDeviceNameString

        public static java.lang.String nDeviceNameString​(long struct)
        Unsafe version of DeviceNameString().
      • nDeviceString

        public static java.nio.ByteBuffer nDeviceString​(long struct)
        Unsafe version of DeviceString().
      • nDeviceStringString

        public static java.lang.String nDeviceStringString​(long struct)
        Unsafe version of DeviceStringString().
      • nFlags

        public static int nFlags​(long struct)
        Unsafe version of Flags().
      • nrcVirtualScreen

        public static RECT nrcVirtualScreen​(long struct)
        Unsafe version of rcVirtualScreen().