Class Win32VideoController

java.lang.Object
io.github.eggy03.ferrumx.windows.entity.display.Win32VideoController

@ShallowImmutable public class Win32VideoController extends Object
Immutable representation of a GPU device on a Windows system.

Fields correspond to properties retrieved from the Win32_VideoController WMI class.

Hardware that is not compatible with Windows Display Driver Model (WDDM) returns inaccurate property values for instances of this class.

Usage example

// Build a new instance
Win32VideoController gpu = Win32VideoController.builder()
    .deviceId("GPU1")
    .name("AMD Radeon HD 5450")
    .currentRefreshRate(60)
    .build();

// Modify using toBuilder (copy-on-write)
Win32VideoController updated = gpu.toBuilder()
    .currentRefreshRate(144)
    .build();
Since:
3.0.0
See Also:
  • Field Details

    • deviceId

      @SerializedName("DeviceID") @Nullable @Nullable String deviceId
      Identifier (unique to the computer system) for this video controller.
    • name

      @SerializedName("Name") @Nullable @Nullable String name
      Label by which the video controller is known.
    • pnpDeviceId

      @SerializedName("PNPDeviceID") @Nullable @Nullable String pnpDeviceId
      Windows Plug and Play device identifier of the video controller.

      Example: "*PNP030b"

    • currentBitsPerPixel

      @SerializedName("CurrentBitsPerPixel") @Nullable @Nullable Integer currentBitsPerPixel
      Number of bits used to display each pixel.
    • currentHorizontalResolution

      @SerializedName("CurrentHorizontalResolution") @Nullable @Nullable Integer currentHorizontalResolution
      Current number of horizontal pixels.
    • currentVerticalResolution

      @SerializedName("CurrentVerticalResolution") @Nullable @Nullable Integer currentVerticalResolution
      Current number of vertical pixels.
    • currentRefreshRate

      @SerializedName("CurrentRefreshRate") @Nullable @Nullable Integer currentRefreshRate
      Frequency at which the video controller refreshes the image for the monitor.
    • maxRefreshRate

      @SerializedName("MaxRefreshRate") @Nullable @Nullable Integer maxRefreshRate
      Maximum refresh rate of the video controller in hertz.
    • minRefreshRate

      @SerializedName("MinRefreshRate") @Nullable @Nullable Integer minRefreshRate
      Minimum refresh rate of the video controller in hertz.
    • adapterDacType

      @SerializedName("AdapterDACType") @Nullable @Nullable String adapterDacType
      Name or identifier of the digital-to-analog converter (DAC) chip. The character set of this property is alphanumeric.
    • adapterRam

      @SerializedName("AdapterRAM") @Nullable @Nullable Long adapterRam
      Memory size of the video adapter in bytes.

      Example: 64000

    • driverDate

      @SerializedName("DriverDate") @Nullable @Nullable String driverDate
      Last modification date and time of the currently installed video driver.
    • driverVersion

      @SerializedName("DriverVersion") @Nullable @Nullable String driverVersion
      Version number of the video driver.
    • videoProcessor

      @SerializedName("VideoProcessor") @Nullable @Nullable String videoProcessor
      Free-form string describing the video processor.

      Example AMD Radeon HD 5450

  • Constructor Details

    • Win32VideoController

      public Win32VideoController()
  • Method Details

    • toString

      @NotNull public @NotNull String toString()
      Retrieves the entity in a JSON pretty-print formatted string
      Overrides:
      toString in class Object
      Returns:
      the String value of the object in JSON pretty-print format