/***************************************************************************\ |* *| |* Copyright 2010-2013 NVIDIA Corporation. All rights reserved. *| |* *| |* NOTICE TO USER: *| |* *| |* This source code is subject to NVIDIA ownership rights under U.S. *| |* and international Copyright laws. *| |* *| |* Users and possessors of this source code may not modify this code or *| |* create derivative works of this code. *| |* *| |* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE *| |* CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR *| |* IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH *| |* REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF *| |* MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR *| |* PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, *| |* INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES *| |* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN *| |* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING *| |* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE *| |* CODE. *| |* *| |* U.S. Government End Users. This source code is a "commercial item" *| |* as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting *| |* of "commercial computer software" and "commercial computer software *| |* documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) *| |* and is provided to the U.S. Government only as a commercial end item. *| |* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through *| |* 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the *| |* source code with only those rights set forth herein. *| |* *| |* Any use of this source code in individual and commercial software must *| |* include, in the user documentation and internal comments to the code, *| |* the above Disclaimer and U.S. Government End Users Notice. *| |* *| |* *| \***************************************************************************/ // File: ../nvWmi.mof // Generated: 01:11:27, Jan 06, 2014 // purge all previous definitions of NV namespace #pragma namespace("\\\\.\\root\\cimv2") #pragma deleteinstance("__Namespace.Name='NV'", NOFAIL) #pragma autorecover #pragma namespace("\\\\.\\root\\cimv2") Instance of __Namespace { Name = "NV"; }; #pragma namespace("\\\\.\\root\\cimv2\\NV") instance of __Win32Provider as $NVPROV { ClientLoadableCLSID = NULL; CLSID = "{96CDE098-DB47-4040-97CF-C522384F5554}"; // unchanged from 1.1 DefaultMachineName = NULL; HostingModel = "Decoupled:Com"; InitializeAsAdminFirst = FALSE; Name = "NVIDIA|NVWMI|2.0"; UnloadTimeout = NULL; SecurityDescriptor = "O:BAG:SYD:(A;;0x10000001;;;BA)(A;;0x10000001;;;SY)"; Version = 0x02000000; // 2.0.0 (major in MSB byte, then byte with minor, then 16-bit word with build) // Note that Version here is a property inherited from __Win32Provider }; instance of __InstanceProviderRegistration { Provider = $NVPROV; InteractionType = 0; // 0- Pull, 1 - Push, 2 - PushVerify SupportsPut = TRUE; SupportsGet = TRUE; SupportsDelete = TRUE; SupportsEnumeration = TRUE; QuerySupportLevels = {"WQL:UnarySelect", "WQL:References"}; }; instance of __PropertyProviderRegistration { Provider = $NVPROV; SupportsPut = TRUE; SupportsGet = TRUE; }; instance of __MethodProviderRegistration { Provider = $NVPROV; }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Internal version of NV objects")] //! Internal version of NV objects class Version { //! \publicsection [Read: ToInstance ToSubClass, Key, Description("Ordered version value, guaranteed to grow monotonically")] //! Ordered version value, guaranteed to grow monotonically uint32 orderedValue; [Read: ToInstance ToSubClass, Description("Raw version value")] //! Raw version value uint32 value; [Read: ToInstance ToSubClass, Description("Human-readable string with version value")] //! Human-readable string with version value string strValue; }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Base class for all named NV objects")] //! Base class for all named NV objects class NamedObject { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of named object")] //! Version of named object Version ver; [Read: ToInstance ToSubClass, Key, Description("Unique id of named object, used as a key")] //! Unique id of named object, used as a key uint32 id; [Read: ToInstance ToSubClass, Description("Name of an object")] //! Name of an object string name; [Read: ToInstance ToSubClass, Key, Description("Unique name of an object")] //! Unique name of an object string uname; [Read: ToInstance ToSubClass, Description("Ordinal number of named object among objects with same names")] //! Ordinal number of named object among objects with same names sint32 ordinal; [Read: ToInstance ToSubClass, Description("Total number of named objects with same name")] //! Total number of named objects with same name sint32 count; }; [Version("2.1.1"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents an NVIDIA GPU")] //! Represents an NVIDIA GPU class Gpu : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, Description("Unique identification of the NVIDIA GPU")] //! Unique identification of the NVIDIA GPU uint32 handle; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4"}, Values {"unknown","GeForce", "Quadro", "NVS", "Tesla"}, Description("GPU product type. Possible values are: 0 - unknown, 1 - GeForce, 2 - Quadro, 3 - NVS, 4 - Tesla")] //! GPU product type. Possible values are: 0 - unknown, 1 - GeForce, 2 - Quadro, 3 - NVS, 4 - Tesla uint32 productType; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4","5","6","7","8"}, Values {"unknown","SDRAM", "DDR1", "DDR2", "GDDR2", "GDDR3", "GDDR4", "DDR3", "GDDR5"}, Description("The type of memory associated with this GPU. Possible values are: 0 - unknown, 1 - SDRAM, 2 - DDR1, 3 - DDR2, 4 - GDDR2, 5 - GDDR3, 6 - GDDR4, 7 - DDR3, 8 - GDDR5")] //! The type of memory associated with this GPU. Possible values are: 0 - unknown, 1 - SDRAM, 2 - DDR1, 3 - DDR2, 4 - GDDR2, 5 - GDDR3, 6 - GDDR4, 7 - DDR3, 8 - GDDR5 uint32 memoryType; [Read: ToInstance ToSubClass, Description("The virtual memory size in MB (physical RAM + system RAM)")] //! The virtual memory size in MB (physical RAM + system RAM) uint32 memorySizeVirtual; [Read: ToInstance ToSubClass, Description("The physical memory size in MB (without system RAM)")] //! The physical memory size in MB (without system RAM) uint32 memorySizePhysical; [Read: ToInstance ToSubClass, Description("The current available physical memory size in MB (without system RAM)")] //! The current available physical memory size in MB (without system RAM) uint32 memorySizeAvailable; [Read: ToInstance ToSubClass, Description("The width of the GPU's RAM memory bus in MB")] //! The width of the GPU's RAM memory bus in MB uint32 memoryBusWidth; [Read: ToInstance ToSubClass, Description("The total number of Cores defined for a GPU")] //! The total number of Cores defined for a GPU uint32 coreCount; [Read: ToInstance ToSubClass, Description("The current memory clock frequency in MHz")] //! The current memory clock frequency in MHz uint32 memoryClockCurrent; [Read: ToInstance ToSubClass, Description("The current GPU clock frequency in MHz, if this clock is not present on a Gpu then reported value would be 0")] //! The current GPU clock frequency in MHz, if this clock is not present on a Gpu then reported value would be 0 uint32 gpuCoreClockCurrent; [Read: ToInstance ToSubClass, Description("The total GPU power drawn over last iteration of sampling in watts")] //! The total GPU power drawn over last iteration of sampling in watts real32 power; [Read: ToInstance ToSubClass, Description("The number of power sensor samples per iteration")] //! The number of power sensor samples per iteration uint32 powerSampleCount; [Read: ToInstance ToSubClass, Description("The period (in milliseconds) between the power samples")] //! The period (in milliseconds) between the power samples uint32 powerSamplingPeriod; [Read: ToInstance ToSubClass, Description("The percentage GPU utilization")] //! The percentage GPU utilization uint32 percentGpuUsage; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of thermal probes of this GPU")] //! Array of thermal probes of this GPU ThermalProbe ref thermalProbes[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to coolers of this GPU")] //! Array of references to coolers of this GPU Cooler ref coolers[]; [Read: ToInstance ToSubClass, Description("The name of the graphics card to which this GPU belongs")] //! The name of the graphics card to which this GPU belongs string productName; [Read: ToInstance ToSubClass, Description("The video BIOS version associated with this GPU")] //! The video BIOS version associated with this GPU Version verVBIOS; [Implemented, Description("Fake given EDID across all connectors of given type")] //! Fake given EDID across all connectors of given type boolean fakeEDID ( [in]string filePath, //!< Full path to the file with the custom EDID. In order to remove the forced EDID, specify an empty string [in, ValueMap{"-1","0","1","2","3","4","5","6","7","8"}, Values{"unknown","unintialized","VGA","Component","S-Video","HDMI","DVI","LVDS", "DP","Composite"}] uint32 output //!< GPU output connector type for faking EDID ); [Implemented, Description("Formats basic information about this GPU into a human-readable string")] //! Formats basic information about this GPU into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Singleton, Description("Represents root object for NV-related HW and SW in the system")] //! Represents root object for NV-related HW and SW in the system class System { //! \publicsection [Read: ToInstance ToSubClass, Description("System root class version")] //! System root class version Version verClass; [Read: ToInstance ToSubClass, Description("Version of the NVWMI driver")] //! Version of the NVWMI driver Version verNVWMI; [Read: ToInstance ToSubClass, Description("Version of the NV display driver")] //! Version of the NV display driver Version verDisplayDriver; [Read: ToInstance ToSubClass, Description("Firmware version of the SDI Capture board")] //! Firmware version of the SDI Capture board Version verSDICaptureFirmware; [Read: ToInstance ToSubClass, Description("Firmware version of the SDI output board")] //! Firmware version of the SDI output board Version verSDIOutputFirmware; [Read: ToInstance ToSubClass, Description("The video BIOS version associated with the GPU's")] //! The video BIOS version associated with the GPU's Version verVBIOS; [Read: ToInstance ToSubClass, ValueMap{"0","1","2"}, Values{"Disable", "Enable", "Not Installed"}, Description("nView Desktop Manager State. Possible values are: 0 - Disable, 1 - Enable, 2 - Not Installed")] //! nView Desktop Manager State. Possible values are: 0 - Disable, 1 - Enable, 2 - Not Installed uint32 nViewState; [Implemented, Static, Description("Set nView Desktop Manager State")] //! Set nView Desktop Manager State boolean setnViewState ( [in, ValueMap{"0","1"}, Values{"Disable","Enable"}] uint32 state //!< nView State to be Set ); [Implemented, Static, Description("Formats basic information about System objects into a human-readable string")] //! Formats basic information about System objects into a human-readable string string info(); }; [Version("1.2.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents a board with NVIDIA GPU(s)")] //! Represents a board with NVIDIA GPU(s) class Board : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Board Serial Number stored in the InfoROM")] //! Board Serial Number stored in the InfoROM uint8 serialNumber[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to GPUs installed on this board")] //! Array of references to GPUs installed on this board Gpu ref gpus[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to thermal probes of this board")] //! Array of references to thermal probes of this board ThermalProbe ref thermalProbes[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to coolers of this board")] //! Array of references to coolers of this board Cooler ref coolers[]; [Implemented, Description("Formats basic information about Board instance into a human-readable string")] //! Formats basic information about Board instance into a human-readable string string info(); }; [Version("2.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Singleton, Description("Management of display-related task")] //! Management of display-related task class DisplayManager { //! \publicsection [Read: ToInstance ToSubClass, Description("Object version")] //! Object version Version verClass; [Implemented, Static, Description("Change scaling mode of all display targets in a system")] //! Change scaling mode of all display targets in a system boolean setScalingAll ( [in, ValueMap{"0","1","2","3","5","6","7"}, Values{"Default","Closest","Native","ScanoutToNative","AspectScanoutToNative","AspectScanoutToClosest","ScanoutToClosest"}] uint32 scaling //!< Scaling mode to be set ); [Implemented, Static, Description("Validate the display grid by specifying display IDs, before creating the grid. Validates only a single grid, for multigrid, please use validateDisplayGrids method")] //! Validate the display grid by specifying display IDs, before creating the grid. Validates only a single grid, for multigrid, please use validateDisplayGrids method boolean validateDisplayGridById ( [in]uint32 cols, //!< number of columns in a grid (must be non-zero) [in]uint32 rows, //!< number of rows in a grid (must be non-zero) [in]uint32 displayIds[] //!< array of display IDs (Display.id). Order is important. C convention for array - grid element at column=i and row=j must be at index=j*cols+i ); [Implemented, Static, Description("Create a display grid by specifying display IDs. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids")] //! Create a display grid by specifying display IDs. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids boolean createDisplayGridById ( [in]uint32 cols, //!< number of columns in a grid (must be non-zero) [in]uint32 rows, //!< number of rows in a grid (must be non-zero) [in]uint32 displayIds[] //!< array of display IDs (Display.id). Order is important. C convention for array - grid element at column=i and row=j must be at index=j*cols+i ); [Implemented, Static, Description("Create a display grid by specifying unique display names. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids")] //! Create a display grid by specifying unique display names. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids boolean createDisplayGridByName ( [in]uint32 cols, //!< number of columns in a grid (must be non-zero) [in]uint32 rows, //!< number of rows in a grid (must be non-zero) [in]string displayNames //!< string of unique display names (Display.uname), separated by semicolon. Order is important. C convention for array - grid element at column=i and row=j must be at index=j*cols+i ); [Implemented, Static, Description("Create a display grid by specifying references to the Display class instances. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids")] //! Create a display grid by specifying references to the Display class instances. Creates only a single grid, for multigrid, please use createDisplayGrids method. Will disable all previous grids boolean createDisplayGridByRef ( [in]uint32 cols, //!< number of columns in a grid (must be non-zero) [in]uint32 rows, //!< number of rows in a grid (must be non-zero) [in]string displayRefs //!< string of references to Display instances, separated by semicolon. Order is important. C convention for array - grid element at column=i and row=j must be at index=j*cols+i ); [Implemented, Static, Description("Validate multiple display grid topologies")] //! Validate multiple display grid topologies boolean validateDisplayGrids ( [in]string grids[] //!< array of grid topologies to be validated, each grid specified by a string with key=value pairs //!< "rows=2;cols=2;stereo=0;layout=0.0 0.1 0.2 0.3;mode=1920 1200 60 32;rotation=0 0 0 0" //!< "rows=1;cols=4;stereo=0;layout=1.0 1.1 1.2 1.3;mode=1920 1200 60 32;rotation=1 1 1 1" ... //!< Only "rows" and "cols" are the mandatory keys in the string with grid specification //!< Other parameters are optional and will be deduced from a default topology ); [Implemented, Static, Description("Create multiple display grid topologies")] //! Create multiple display grid topologies boolean createDisplayGrids ( [in]string grids[] //!< array of grid topologies to be created, each grid specified by a string with key=value pairs //!< "rows=2;cols=2;stereo=0;layout=0.0 0.1 0.2 0.3;mode=1920 1200 60 32;rotation=0 0 0 0" //!< "rows=1;cols=4;stereo=0;layout=1.0 1.1 1.2 1.3;mode=1920 1200 60 32;rotation=1 1 1 1" ... //!< Only "rows" and "cols" are the mandatory keys in a string with grid specification //!< Other parameters are optional and will be deduced from a default topology ); [Implemented, Static, Description("Set desktop positions of all active display grids. All active display grids have to be re-positioned together. Primary grid (with taskbar) must be positioned at (0,0)")] //! Set desktop positions of all active display grids. All active display grids have to be re-positioned together. Primary grid (with taskbar) must be positioned at (0,0) boolean setGridPositions ( [in]uint32 positionCol[], //!< array of valid grid column positions in pixels. Order is important. Also, DisplayGrid::colOverlap (if any) should be considered. [in]uint32 positionRow[] //!< array of valid grid row positions in pixels. Order is important. Also, DisplayGrid::rowOverlap (if any) should be considered. ); [Implemented, Static, Description("Set given EDID across all GPUs on all connectors of given type")] //! Set given EDID across all GPUs on all connectors of given type boolean fakeEDIDAll ( [in]string filePath, //!< Full path to the file with the custom EDID. In order to remove the forced EDID, specify an empty string [in, ValueMap{"-1","0","1","2","3","4","5","6","7","8"}, Values{"unknown","unintialized","VGA","Component","S-Video","HDMI","DVI","LVDS", "DP","Composite"}] uint32 output //!< GPU output connector type for faking EDID ); [Implemented, Static, Description("Formats basic information about DisplayManager objects in a system into a human-readable string")] //! Formats basic information about DisplayManager objects in a system into a human-readable string string info(); }; [Version("1.1.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents overlap limits of individual display in a display grid")] //! Represents overlap limits of individual display in a display grid class OverlapLimits { //! \publicsection [Read: ToInstance ToSubClass, Description("Object version")] //! Object version Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique identification of the overlap limits")] //! Unique identification of the overlap limits uint32 id; [Read: ToInstance ToSubClass, Description("The minimum column overlap for each display (in pixels)")] //! The minimum column overlap for each display (in pixels) sint32 minOverlapCol; [Read: ToInstance ToSubClass, Description("The maximum column overlap for each display (in pixels)")] //! The maximum column overlap for each display (in pixels) sint32 maxOverlapCol; [Read: ToInstance ToSubClass, Description("The minimum row overlap for each display (in pixels)")] //! The minimum row overlap for each display (in pixels) sint32 minOverlapRow; [Read: ToInstance ToSubClass, Description("The maximum row overlap for each display (in pixels)")] //! The maximum row overlap for each display (in pixels) sint32 maxOverlapRow; [Read: ToInstance ToSubClass, Description("The minimum total column overlap for the entire grid (in pixels)")] //! The minimum total column overlap for the entire grid (in pixels) sint32 minTotalCol; [Read: ToInstance ToSubClass, Description("The maximum total column overlap for the entire grid (in pixels)")] //! The maximum total column overlap for the entire grid (in pixels) sint32 maxTotalCol; [Read: ToInstance ToSubClass, Description("The minimum total row overlap for the entire grid (in pixels)")] //! The minimum total row overlap for the entire grid (in pixels) sint32 minTotalRow; [Read: ToInstance ToSubClass, Description("The maximum total row overlap for the entire grid (in pixels)")] //! The maximum total row overlap for the entire grid (in pixels) sint32 maxTotalRow; [Implemented, Description("Formats basic information about OverlapLimits instance into a human-readable string")] //! Formats basic information about OverlapLimits instance into a human-readable string string info(); }; [Version("1.2.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents physical displays, organized into a regular grid (rows by columns)")] //! Represents physical displays, organized into a regular grid (rows by columns) class DisplayGrid : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, Description("Number of rows in the grid")] //! Number of rows in the grid uint32 rows; [Read: ToInstance ToSubClass, Description("Number of columns in the grid")] //! Number of columns in the grid uint32 cols; [Read: ToInstance ToSubClass, Description("Distance between displays per row. Positive number indicates overlap, negative - gap (in pixels)")] //! Distance between displays per row. Positive number indicates overlap, negative - gap (in pixels) sint32 overlapRows[]; [Read: ToInstance ToSubClass, Description("Distance between displays per column. Positive number indicates overlap, negative - gap (in pixels)")] //! Distance between displays per column. Positive number indicates overlap, negative - gap (in pixels) sint32 overlapCols[]; [Read: ToInstance ToSubClass, Description("Overlap limits (in pixels) for this display grid")] //! Overlap limits (in pixels) for this display grid OverlapLimits overlapLimits; [Read: ToInstance ToSubClass, Description("Virtual mode of this display grid (including overlaps)")] //! Virtual mode of this display grid (including overlaps) DisplayMode displayModeVirtual; [Read: ToInstance ToSubClass, Description("Current mode of this display grid (per-display)")] //! Current mode of this display grid (per-display) DisplayMode displayModePhysical; [Read: ToInstance ToSubClass, Description("Column-wise (horizontal) position of the display grid (in pixels)")] //! Column-wise (horizontal) position of the display grid (in pixels) sint32 positionCol; [Read: ToInstance ToSubClass, Description("Row-wise (vertical) position of the display grid (in pixels)")] //! Row-wise (vertical) position of the display grid (in pixels) sint32 positionRow; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"}, Values{"No rotation","rotate 90 degrees","rotate 180 degrees","rotate 270 degrees"}, Description("per-display rotation modes in a grid. Possible values are: 0 - No rotation, 1 - rotate 90 degrees, 2 - rotate 180 degrees, 3 - rotate 270 degrees")] //! per-display rotation modes in a grid. Possible values are: 0 - No rotation, 1 - rotate 90 degrees, 2 - rotate 180 degrees, 3 - rotate 270 degrees uint32 rotation[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to modes available on this display grid")] //! Array of references to modes available on this display grid DisplayMode ref displayModes[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to displays bound into this display grid")] //! Array of references to displays bound into this display grid Display ref displays[]; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to GPUs, driving displays on this display grid")] //! Array of references to GPUs, driving displays on this display grid Gpu ref gpus[]; [Implemented, Description("Change per-row overlap of the display grid item with given index")] //! Change per-row overlap of the display grid item with given index boolean setOverlapRow ( [in]sint32 index, //!< Index of the column. Value -1 could be used to change overlap for all rows at once [in]sint32 overlap //!< Overlap. Positive number indicates overlap, negative - gap (in pixels) ); [Implemented, Description("Change per-col overlap of the display grid item with given index")] //! Change per-col overlap of the display grid item with given index boolean setOverlapCol ( [in]sint32 index, //!< Index of the column. Value -1 could be used to change overlap for all columns at once [in]sint32 overlap //!< Overlap. Positive number indicates overlap, negative - gap (in pixels) ); [Implemented, Description("Change overlap of the display grid item with given index")] //! Change overlap of the display grid item with given index boolean setOverlaps ( [in]sint32 index, //!< Index of the item. Value -1 could be used to change overlap for all items at once [in]sint32 overlapRow, //!< Overlap. Positive number indicates overlap, negative - gap (in pixels) [in]sint32 overlapCol //!< Overlap. Positive number indicates overlap, negative - gap (in pixels) ); [Implemented, Description("Change display mode of this display grid by specifying a display mode properties")] //! Change display mode of this display grid by specifying a display mode properties boolean setDisplayMode ( [in]uint32 width, //!< Width of the display grid (in pixels) [in]uint32 height, //!< Height of the display grid (in pixels) [in]real32 refreshRate, //!< Refresh rate of the display grid (in Hz) [in]uint32 depth //!< Color depth of the display grid (in bits per pixel) ); [Implemented, Description("Change mode of this display grid by specifying a display mode ID")] //! Change mode of this display grid by specifying a display mode ID boolean setDisplayModeById ( [in]uint32 id //!< DisplayMode ID ); [Implemented, Description("Change mode of this display grid by specifying a reference to a display mode")] //! Change mode of this display grid by specifying a reference to a display mode boolean setDisplayModeByRef ( [in]DisplayMode ref gridMode //!< A reference to the mode to be applied ); [Implemented, Description("Change rotation of the displays in this grid by specifying the per-display rotation mode. Currently only common mode for all displays in a grid is supported.")] //! Change rotation of the displays in this grid by specifying the per-display rotation mode. Currently only common mode for all displays in a grid is supported. boolean setRotation ( [in]uint32 rotation[] //!< per-display rotation modes to be set in the grid. Currently only identical rotation angle for all displays in a grid is supported. //!< Example 1 - for 1x4 grid, "setRotation 1" will apply "rotate 90 degrees" to all displays in the grid. //!< Example 2 - specifying same angle for all displays is supported: "setRotation rotation=(1,1,1,1)" //!< Example 3 - attempt to rotate to non-identical angles "setRotation rotation=(1,2,1,1)" will fail ); [Implemented, Description("Formats basic information about this Display grid into a human-readable string")] //! Formats basic information about this Display grid into a human-readable string string info(); }; [Version("1.1.1"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents physical display")] //! Represents physical display class Display : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, Description("Firmware version of this display")] //! Firmware version of this display Version verFirmware; [Read: ToInstance ToSubClass, Description("Manufacturer of this display")] //! Manufacturer of this display string make; [Read: ToInstance ToSubClass, Description("Model of this display")] //! Model of this display string model; [Read: ToInstance ToSubClass, Description("Native display mode")] //! Native display mode DisplayMode displayModeNative; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","5","6","7"}, Values{"Default","Closest","Native","ScanoutToNative","AspectScanoutToNative","AspectScanoutToClosest","ScanoutToClosest"}, Description("Display scaling mode - Default, Closest, Native, ScanoutToNative, AspectScanoutToNative, AspectScanoutToClosest, ScanoutToClosest. Possible values are: 0 - Default, 1 - Closest, 2 - Native, 3 - ScanoutToNative, 5 - AspectScanoutToNative, 6 - AspectScanoutToClosest, 7 - ScanoutToClosest")] //! Display scaling mode - Default, Closest, Native, ScanoutToNative, AspectScanoutToNative, AspectScanoutToClosest, ScanoutToClosest. Possible values are: 0 - Default, 1 - Closest, 2 - Native, 3 - ScanoutToNative, 5 - AspectScanoutToNative, 6 - AspectScanoutToClosest, 7 - ScanoutToClosest uint32 scaling; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4"}, Values{"None","90 degree","180 degree","270 degree","Ignored"}, Description("rotation angle. Possible values are: 0 - None, 1 - 90 degree, 2 - 180 degree, 3 - 270 degree, 4 - Ignored")] //! rotation angle. Possible values are: 0 - None, 1 - 90 degree, 2 - 180 degree, 3 - 270 degree, 4 - Ignored uint32 rotation; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Raw EDID of this display")] //! Raw EDID of this display uint8 EDID[]; [Read: ToInstance ToSubClass, Description("Size of the EDID in bytes")] //! Size of the EDID in bytes uint32 EDIDSize; [Read: ToInstance ToSubClass, ValueMap{"0","0x10","0x11","0x13","0x14","0x16","0x17","0x18","0x19","0x1A","0x20","0x21","0x30","0x31","0x32","0x38","0x39","0x40","0x41","0x46","0x47","0x48","0x61","0x63","0x64","0x65"}, Values{"VGA 15-pin","TV Composite","TV S-Video","TV HDTV Component","TV SCART","TV Composite SCART on EIAJ-4120","TV HDTV EIAJ-4120","PcPod HDTV-YPrPb","PcPod S-video","PcPod Composite","DVI-i TV S-Video","DVI-i TV Composite","DVI-i","DVI-d","ADC","Lfh DVI-i 1","Lfh DVI-i 2","SPWG","OEM","DP external","DP internal","DP mini, external","HDMI type A","HDMI type C mini","LFH DP 1","LFH DP 2"}, Description("Physical connector, connected to a GPU. Possible values are: 0 - VGA 15-pin, 0x10 - TV Composite, 0x11 - TV S-Video, 0x13 - TV HDTV Component, 0x14 - TV SCART, 0x16 - TV Composite SCART on EIAJ-4120, 0x17 - TV HDTV EIAJ-4120, 0x18 - PcPod HDTV-YPrPb, 0x19 - PcPod S-video, 0x1A - PcPod Composite, 0x20 - DVI-i TV S-Video, 0x21 - DVI-i TV Composite, 0x30 - DVI-i, 0x31 - DVI-d, 0x32 - ADC, 0x38 - Lfh DVI-i 1, 0x39 - Lfh DVI-i 2, 0x40 - SPWG, 0x41 - OEM, 0x46 - DP external, 0x47 - DP internal, 0x48 - DP mini, external, 0x61 - HDMI type A, 0x63 - HDMI type C mini, 0x64 - LFH DP 1, 0x65 - LFH DP 2")] //! Physical connector, connected to a GPU. Possible values are: 0 - VGA 15-pin, 0x10 - TV Composite, 0x11 - TV S-Video, 0x13 - TV HDTV Component, 0x14 - TV SCART, 0x16 - TV Composite SCART on EIAJ-4120, 0x17 - TV HDTV EIAJ-4120, 0x18 - PcPod HDTV-YPrPb, 0x19 - PcPod S-video, 0x1A - PcPod Composite, 0x20 - DVI-i TV S-Video, 0x21 - DVI-i TV Composite, 0x30 - DVI-i, 0x31 - DVI-d, 0x32 - ADC, 0x38 - Lfh DVI-i 1, 0x39 - Lfh DVI-i 2, 0x40 - SPWG, 0x41 - OEM, 0x46 - DP external, 0x47 - DP internal, 0x48 - DP mini, external, 0x61 - HDMI type A, 0x63 - HDMI type C mini, 0x64 - LFH DP 1, 0x65 - LFH DP 2 uint32 gpuConnectorType; [Read: ToInstance ToSubClass, Description("True if display is active")] //! True if display is active boolean isActive; [Read: ToInstance ToSubClass, ArrayType("Ordered"), Description("Array of references to the Display modes")] //! Array of references to the Display modes DisplayMode ref displayModes[]; [Implemented, Description("Restore the display mode to native")] //! Restore the display mode to native boolean restoreNativeDisplayMode(); [Implemented, Description("save EDID into specified file (in binary format). File path with extension '.bin' is recommended if saved data will be used later as a parameter to setEDID() method.")] //! save EDID into specified file (in binary format). File path with extension '.bin' is recommended if saved data will be used later as a parameter to setEDID() method. boolean saveEDID ( [in]string filePath //!< Path to the file with EDID data. File path with extension '.bin' is recommended if dumped data will be used later as a parameter to setEDID() method. ); [Implemented, Description("Override EDID with specified data. File with binary data must have extension '.bin'. All files with other extensions will be treated as text data files, with EOL translation")] //! Override EDID with specified data. File with binary data must have extension '.bin'. All files with other extensions will be treated as text data files, with EOL translation boolean setEDID ( [in]string filePath //!< Path to the file with EDID data. This parameter must be empty string "" for removing the forced EDID ); [Implemented, Description("Change scaling mode of this display")] //! Change scaling mode of this display boolean setScaling ( [in, ValueMap{"0","1","2","3","5","6","7"}, Values{"Default","Closest","Native","ScanoutToNative","AspectScanoutToNative","AspectScanoutToClosest","ScanoutToClosest"}] uint32 scaling //!< scaling mode to be set ); [Implemented, Description("Rotate display")] //! Rotate display boolean setRotation ( [in, ValueMap{"0","1","2","3"}, Values{"No rotation","rotate 90 degrees","rotate 180 degrees","rotate 270 degrees"}] uint32 rotation //!< rotation to be set ); [Implemented, Description("Formats basic information about this display into a human-readable string")] //! Formats basic information about this display into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents display mode")] //! Represents display mode class DisplayMode { //! \publicsection [Read: ToInstance ToSubClass, Description("Object version")] //! Object version Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique identification of the display mode")] //! Unique identification of the display mode uint32 id; [Read: ToInstance ToSubClass, Write, Description("Display mode width")] //! Display mode width sint32 width; [Read: ToInstance ToSubClass, Write, Description("Display mode height")] //! Display mode height sint32 height; [Read: ToInstance ToSubClass, Write, Description("Display mode refresh rate")] //! Display mode refresh rate real32 refreshRate; [Read: ToInstance ToSubClass, Write, Description("Display mode color depth in bits per pixel (bpp)")] //! Display mode color depth in bits per pixel (bpp) sint32 colorDepth; [Implemented, Description("Formats basic information about this display mode into a human-readable string")] //! Formats basic information about this display mode into a human-readable string string info(); }; [Version("1.4.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents a cooler (fan, liquid system etc.)")] //! Represents a cooler (fan, liquid system etc.) class Cooler { //! \publicsection [Read: ToInstance ToSubClass, Description("Cooler class version")] //! Cooler class version Version ver; [Read: ToInstance ToSubClass, Key, Description("Unique identification of the NVIDIA GPU")] //! Unique identification of the NVIDIA GPU uint32 handle; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"}, Values{"unknown","fan","water","liquid"}, Description("The type of cooler present on the card (fan, water or liquid). Possible values are: 0 - unknown, 1 - fan, 2 - water, 3 - liquid")] //! The type of cooler present on the card (fan, water or liquid). Possible values are: 0 - unknown, 1 - fan, 2 - water, 3 - liquid uint32 coolerType; [Read: ToInstance ToSubClass, Description("Current percentage speed of a cooler fan (or liquid flow rate %)")] //! Current percentage speed of a cooler fan (or liquid flow rate %) uint32 percentCoolerRate; [Read: ToInstance ToSubClass, Description("The tachometer reading for fan speed in rpm")] //! The tachometer reading for fan speed in rpm uint32 fanSpeed; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"}, Values{"unknown","normal","warning","critical"}, Description("Cooler fan speed level. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical")] //! Cooler fan speed level. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical uint32 coolerLevel; [Implemented, Description("Formats basic information about the Cooler object in a system into a human-readable string")] //! Formats basic information about the Cooler object in a system into a human-readable string string info(); }; [Version("1.3.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents a thermal probe")] //! Represents a thermal probe class ThermalProbe { //! \publicsection [Read: ToInstance ToSubClass, Description("Thermal probe class version")] //! Thermal probe class version Version ver; [Read: ToInstance ToSubClass, Key, Description("Unique identification of the NVIDIA GPU")] //! Unique identification of the NVIDIA GPU uint32 handle; [Read: ToInstance ToSubClass, Description("The current temperature value of the thermal sensor in degrees Celsius")] //! The current temperature value of the thermal sensor in degrees Celsius sint32 temperature; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"}, Values{"unknown","normal","warning","critical"}, Description("current temperature level. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical")] //! current temperature level. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical uint32 thermalLevel; [Implemented, Description("Formats basic information about the Thermal object in a system into a human-readable string")] //! Formats basic information about the Thermal object in a system into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents the Sync Topology")] //! Represents the Sync Topology class SyncTopology : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, ValueMap{"0","1","2"}, Values{"UnSynced","Slave","Master"}, Description("Synchronization state of a display in the Sync topology. Possible values are: 0 - UnSynced, 1 - Slave, 2 - Master")] //! Synchronization state of a display in the Sync topology. Possible values are: 0 - UnSynced, 1 - Slave, 2 - Master uint32 displaySyncState; [Read: ToInstance ToSubClass, Description("Can the current display be set as a sync master?")] //! Can the current display be set as a sync master? boolean isDisplayMasterable; [Implemented, Description("Returns true if GPU is synchronized (in phase) with the Sync device")] //! Returns true if GPU is synchronized (in phase) with the Sync device boolean isGPUSynced(); [Implemented, Description("Formats basic information about SyncTopology objects into a human-readable string")] //! Formats basic information about SyncTopology objects into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents the Sync Delay (Sync Skew or Startup Delay)")] //! Represents the Sync Delay (Sync Skew or Startup Delay) class SyncDelay { //! \publicsection [Read: ToInstance ToSubClass, Description("SyncDelay class version")] //! SyncDelay class version Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique identification of SyncDelay objects")] //! Unique identification of SyncDelay objects uint32 id; [Read: ToInstance ToSubClass, ValueMap{"0","1","2"}, Values{"unknown","SyncSkew","StartupDelay"}, Description("Type of Sync Delay.. Possible values are: 0 - unknown, 1 - SyncSkew, 2 - StartupDelay")] //! Type of Sync Delay.. Possible values are: 0 - unknown, 1 - SyncSkew, 2 - StartupDelay uint32 delayType; [Read: ToInstance ToSubClass, Description("Minimum number of pixels required at current display mode to induce sync delay.")] //! Minimum number of pixels required at current display mode to induce sync delay. uint32 minPixels; [Read: ToInstance ToSubClass, Description("Maximum number of lines supported at current display mode to induce sync delay.")] //! Maximum number of lines supported at current display mode to induce sync delay. uint32 maxLines; [Read: ToInstance ToSubClass, Description("Sync delay to be induced in unit pixels.")] //! Sync delay to be induced in unit pixels. uint32 numOfPixels; [Read: ToInstance ToSubClass, Description("Sync delay to be induced in unit horizontal lines.")] //! Sync delay to be induced in unit horizontal lines. uint32 numOfLines; [Implemented, Description("Formats basic information about SyncTopology objects into a human-readable string")] //! Formats basic information about SyncTopology objects into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Represents Sync-capable devices")] //! Represents Sync-capable devices class Sync : NamedObject { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of the Sync board firmware")] //! Version of the Sync board firmware Version verSyncFirmware; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of references to SyncTopology objects")] //! Array of references to SyncTopology objects SyncTopology ref syncDisplays[]; [Read: ToInstance ToSubClass, Description("Is sync enabled on this device?")] //! Is sync enabled on this device? boolean isSynced; [Read: ToInstance ToSubClass, Description("Is house sync present?")] //! Is house sync present? boolean isHouseSync; [Read: ToInstance ToSubClass, Description("Is stereo enabled?")] //! Is stereo enabled? boolean isStereoSynced; [Read: ToInstance ToSubClass, ValueMap{"0","1","2"}, Values{"Rising Edge","Falling Edge","Both Edges"}, Description("Polarity of a synchronization signal. Possible values are: 0 - Rising Edge, 1 - Falling Edge, 2 - Both Edges")] //! Polarity of a synchronization signal. Possible values are: 0 - Rising Edge, 1 - Falling Edge, 2 - Both Edges uint32 polarity; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4"}, Values{"none","TTL","NTSC-PAL-SECAM","HDTV","composite"}, Description("Video mode. Possible values are: 0 - none, 1 - TTL, 2 - NTSC-PAL-SECAM, 3 - HDTV, 4 - composite")] //! Video mode. Possible values are: 0 - none, 1 - TTL, 2 - NTSC-PAL-SECAM, 3 - HDTV, 4 - composite uint32 vmode; [Read: ToInstance ToSubClass, Description("Number of pulses to wait between framelock signal generation.")] //! Number of pulses to wait between framelock signal generation. uint32 interval; [Read: ToInstance ToSubClass, ValueMap{"0","1"}, Values{"VSync","HouseSync"}, Description("Source of a synchronization signal. Possible values are: 0 - VSync, 1 - HouseSync")] //! Source of a synchronization signal. Possible values are: 0 - VSync, 1 - HouseSync uint32 source; [Read: ToInstance ToSubClass, ValueMap{"0","1"}, Values{"Disabled","Enabled"}, Description("Interlace mode for a Sync device. Possible values are: 0 - Disabled, 1 - Enabled")] //! Interlace mode for a Sync device. Possible values are: 0 - Disabled, 1 - Enabled uint32 interlaceMode; [Read: ToInstance ToSubClass, Description("Sync signal refresh rate in Hz. If the house sync is present and selected source is HouseSync, then it will be the house sync signal refresh rate. Otherwise, it will be an internal display signal refresh rate")] //! Sync signal refresh rate in Hz. If the house sync is present and selected source is HouseSync, then it will be the house sync signal refresh rate. Otherwise, it will be an internal display signal refresh rate real32 syncSignalRate; [Read: ToInstance ToSubClass, ValueMap{"0","1","2"}, Values{"output","input","unused"}, Description("RJ-45 signal status. Possible values are: 0 - output, 1 - input, 2 - unused")] //! RJ-45 signal status. Possible values are: 0 - output, 1 - input, 2 - unused uint32 flStatus[]; [Read: ToInstance ToSubClass, Description("syncSkew object (The time delay between the frame sync signal and the GPUs signal). Available only in Client mode or if external Housesync signal is present.")] //! syncSkew object (The time delay between the frame sync signal and the GPUs signal). Available only in Client mode or if external Housesync signal is present. SyncDelay syncSkew; [Read: ToInstance ToSubClass, Description("startupDelay object (The amount of time the frame lock card should wait until generating sync pulse). Available only in Server mode.")] //! startupDelay object (The amount of time the frame lock card should wait until generating sync pulse). Available only in Server mode. SyncDelay startupDelay; [Implemented, Description("Setup the synchronization between displays with given IDs")] //! Setup the synchronization between displays with given IDs boolean setSyncStateById ( [in]uint32 syncDisplayIds[], //!< Array of display IDs to synchronize(SyncTopology.id), separated by comma. Order is important. //!< For Mosaic topologies, user can specify either a master display or all displays in a Mosaic topology. //!< If user does not specify any displays, the method will choose the best topology to synchronize. //!< To un-synchronize the displays, user will have to pass all the displays with displaySyncState as UnSynced. [in]uint32 syncState[] //!< Possible values are: 0 - UnSynced, 1 - Slave, 2 - Master ); [Implemented, Description("Setup the synchronization between displays with given Names")] //! Setup the synchronization between displays with given Names boolean setSyncStateByName ( [in]string syncDisplayNames, //!< Display Names to synchronize. String of unique display names (SyncTopology.uname), separated by semicolon. Order is important. //!< For Mosaic topologies, user can specify either a master display or all displays in a Mosaic topology. //!< If user does not specify any displays, the method will choose the best topology to synchronize. //!< To un-synchronize the displays, user will have to pass all the displays with displaySyncState as UnSynced. [in]uint32 syncState[] //!< Possible values are: 0 - UnSynced, 1 - Slave, 2 - Master ); [Implemented, Description("Toggle the sync signal source between internal and external house sync")] //! Toggle the sync signal source between internal and external house sync boolean toggleSource(); [Implemented, Description("Set synchronization signal polarity")] //! Set synchronization signal polarity boolean setPolarity ( [in, ValueMap{"0","1","2"}, Values{"Rising Edge","Falling Edge","Both Edges"}] uint32 polarity //!< Possible values are: 0 - rising edge, 1 - falling edge, 2 - both ); [Implemented, Description("Set video mode type")] //! Set video mode type boolean setVmode ( [in, ValueMap{"0","1","2","3","4"}, Values{"none","TTL","NTSC-PAL-SECAM","HDTV","composite"}] uint32 vmode //!< Possible values are: 0 - none, 1 - TTL, 2 - NTSC/PAL/SECAM, 3 - HDTV, 4 - composite ); [Implemented, Description("Set number of pulses to wait between framelock signal generation.")] //! Set number of pulses to wait between framelock signal generation. boolean setInterval ( [in]uint32 interval //!< The number of pulses to skip for signal generation. 0 uses source, 1 gives half the frequency, and so on. ); [Implemented, Description("Set interlace mode for a Sync device")] //! Set interlace mode for a Sync device boolean setInterlaceMode ( [in, ValueMap{"0","1"}, Values{"Disabled","Enabled"}] uint32 interlaceMode //!< Interlace mode for a Sync device. Possible values are: 0 - Disabled, 1- Enabled. ); [Implemented, Description("Set the amount of delay between the frame sync signal and the GPUs signal. Sync device must be in Client mode or if external Housesync signal present.")] //! Set the amount of delay between the frame sync signal and the GPUs signal. Sync device must be in Client mode or if external Housesync signal present. boolean setSyncSkew ( [in]uint32 numOfPixels, //!< Number of pixels to induce sync skew [in]uint32 numOfLines //!< Number of horizontal lines to induce sync skew ); [Implemented, Description("Set the amount of delay the frame lock card should wait, until generating sync pulse. Sync device must be in Server mode.")] //! Set the amount of delay the frame lock card should wait, until generating sync pulse. Sync device must be in Server mode. boolean setStartupDelay ( [in]uint32 numOfPixels, //!< Number of pixels to induce startup delay [in]uint32 numOfLines //!< Number of horizontal lines to induce startup delay ); [Implemented, Description("Formats basic information about Sync objects into a human-readable string")] //! Formats basic information about Sync objects into a human-readable string string info(); }; [Version("1.1.1"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Singleton, Description("Represents root object for performing Profile related task")] //! Represents root object for performing Profile related task class ProfileManager { //! \publicsection [Read: ToInstance ToSubClass, Description("Profile Manager class version")] //! Profile Manager class version Version verClass; [Read: ToInstance ToSubClass, Description("Current Global 3D profile (D3D, OGL)")] //! Current Global 3D profile (D3D, OGL) string currentProfile3D; [Read: ToInstance ToSubClass, Description("Default Global 3D profile (D3D, OGL)")] //! Default Global 3D profile (D3D, OGL) string defaultProfile3D; [Read: ToInstance ToSubClass, Description("Current Desktop Profile (nView)")] //! Current Desktop Profile (nView) string currentProfileDesktop; [Read: ToInstance ToSubClass, Description("Default Desktop Profile (nView)")] //! Default Desktop Profile (nView) string defaultProfileDesktop; [Read: ToInstance ToSubClass, Description("Current system profile")] //! Current system profile string currentSystemProfile; [Read: ToInstance ToSubClass, Description("Default system profile")] //! Default system profile string defaultSystemProfile; [Implemented, Static, Description("Get name and id of all profiles for a given profile type. The return value is a string in format profile id: profile name e.g.profile1 id: profile 1 name; profile2 id: profile 2 name;")] //! Get name and id of all profiles for a given profile type. The return value is a string in format profile id: profile name e.g.profile1 id: profile 1 name; profile2 id: profile 2 name; string getAllProfiles ( [in, ValueMap{"0","1","3","4","5"}, Values{"3D Application Profile", "3D Global Profile", "nView Profile", "Display Profile", "System Profile"}] uint32 type //!< Type of the profile ); [Implemented, Static, Description("Restore all profiles to default")] //! Restore all profiles to default boolean restoreDefaults3D(); [Implemented, Static, Description("Set current profile")] //! Set current profile boolean setCurrentProfile3D ( [in]string name //!< Name of existing profile to set as current ); [Implemented, Static, Description("Set mode of vertical synchronization in the current global profile")] //! Set mode of vertical synchronization in the current global profile boolean setVSync ( [in, ValueMap{"0","1","2","3","4"}, Values{"Passive","Off","On","Adaptive","Adaptive half"}] uint32 vsyncMode //!< V-Sync mode to be applied to the current global profile //!< values might be Application-Controlled (same as Passive) = 0, Off = 1, On = 2, //!< Adaptive = 3 and Adaptive (half refresh rate) = 4 ); [Implemented, Static, Description("Load Desktop profile")] //! Load Desktop profile boolean loadDesktopProfile ( [in]string name //!< Name of existing Desktop profile to be loaded ); [Implemented, Static, Description("Lock Desktop profile")] //! Lock Desktop profile boolean lockDesktopProfile ( [in]string name, //!< Name of existing Desktop profile to be locked [in]uint32 lock //!< To lock profile and unlock profile ); [Implemented, Static, Description("Save Desktop profile")] //! Save Desktop profile boolean saveDesktopProfile ( [in]string name //!< Name of Desktop profile to be saved ); [Implemented, Static, Description("Save system profile")] //! Save system profile boolean saveSystemProfile ( [in]string name //!< Name of system profile to be saved ); [Implemented, Static, Description("Apply system profile")] //! Apply system profile boolean applySystemProfile ( [in]string name //!< Name of system profile to be applied ); [Implemented, Static, Description("Save current display state in display profiles with given prefixes. One display profile per DisplayGrid. DisplayGrid might contain more than one physical display")] //! Save current display state in display profiles with given prefixes. One display profile per DisplayGrid. DisplayGrid might contain more than one physical display boolean saveDisplayProfiles ( [in]string prefix //!< Common prefix - e.g. "my display". Ordinals will be added per every display profile (e.g. "my display 1 of 4", "my display 2 of 4" etc.) ); [Implemented, Static, Description("Apply saved state in display profiles with given prefixes. One display profile per DisplayGrid")] //! Apply saved state in display profiles with given prefixes. One display profile per DisplayGrid boolean applyDisplayProfiles ( [in]string prefix //!< Common prefix - e.g. "my display" Ordinals will be added per every display profile (e.g. "my display 1 of 4", "my display 2 of 4" etc.) ); [Implemented, Static, Description("Create a new Profile")] //! Create a new Profile boolean createProfile ( [in]string name, //!< Name of the profile [in]uint32 type, //!< Type of the profile. 0 - 3D application profile, 1 - 3D global profile, 2 - nView application profile, 3 - nView global profile, 4 - display profile, 5 - system profile [in]string params //!< Additional parameters separated by semicolon.For a 3D Application Profile exe names that correspond to the profile "Application1.exe;Application2.exe" ); [Implemented, Static, Description("Restore/Delete the Profile. Predefined Profile gets restored and non-predefined Profile gets deleted.")] //! Restore/Delete the Profile. Predefined Profile gets restored and non-predefined Profile gets deleted. boolean restoreProfile ( [in]string name //!< Profile name ); [Implemented, Static, Description("Formats basic information about Profile Manager into a human-readable string")] //! Formats basic information about Profile Manager into a human-readable string string info(); }; [Version("1.1.1"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Profile setting")] //! Profile setting class Setting { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of a Setting class")] //! Version of a Setting class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of a setting, used as a key")] //! Unique id of a setting, used as a key uint32 id; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4"}, Values{"invalid","uint32","sint32","string","binary"}, Description("Type of value of the setting. Possible values are: 0 - invalid, 1 - uint32, 2 - sint32, 3 - string, 4 - binary")] //! Type of value of the setting. Possible values are: 0 - invalid, 1 - uint32, 2 - sint32, 3 - string, 4 - binary uint32 type; [Read: ToInstance ToSubClass, Description("Value for the Setting")] //! Value for the Setting uint8 value[]; [Implemented, Description("Get the string value for a setting")] //! Get the string value for a setting string getStringValue(); [Implemented, Description("Formats basic information about the Profile setting object into a human-readable string")] //! Formats basic information about the Profile setting object into a human-readable string string info(); }; [Version("1.1.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Application, associated with an application profile")] //! Application, associated with an application profile class Application { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of Application class")] //! Version of Application class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of an application, used as a key")] //! Unique id of an application, used as a key uint32 id; [Read: ToInstance ToSubClass, Description("User-friendly name of an application")] //! User-friendly name of an application string name; [Read: ToInstance ToSubClass, Description("Unique subpaths to identify an application, separated by ';'")] //! Unique subpaths to identify an application, separated by ';' string subPaths; [Read: ToInstance ToSubClass, Description("When non-empty, subpath to a launcher")] //! When non-empty, subpath to a launcher string launcher; [Read: ToInstance ToSubClass, Description("If true, application is predefined and cannot be removed")] //! If true, application is predefined and cannot be removed boolean isPredefined; [Read: ToInstance ToSubClass, Description("If true, profile is predefined and cannot be removed")] //! If true, profile is predefined and cannot be removed boolean isSupported; [Implemented, Description("Formats basic information about this Application into a human-readable string")] //! Formats basic information about this Application into a human-readable string string info(); }; [Version("1.0.1"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Information about a display grid")] //! Information about a display grid class DisplayGridInfo { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of a display grid information")] //! Version of a display grid information Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of a display grid information, used as a key")] //! Unique id of a display grid information, used as a key uint32 id; [Read: ToInstance ToSubClass, Description("Number of rows in the display grid")] //! Number of rows in the display grid uint32 rows; [Read: ToInstance ToSubClass, Description("Number of columns in the display grid")] //! Number of columns in the display grid uint32 cols; [Read: ToInstance ToSubClass, Description("ID of the primary display")] //! ID of the primary display uint32 primaryId; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of display IDs (Display.id)")] //! Array of display IDs (Display.id) uint32 displayIds[]; [Read: ToInstance ToSubClass, Description("string of unique display names (Display.uname), separated by semicolon. Order corresponds to displayIds property")] //! string of unique display names (Display.uname), separated by semicolon. Order corresponds to displayIds property string unames; [Implemented, Description("Formats basic information about the display grid information into a human-readable string")] //! Formats basic information about the display grid information into a human-readable string string info(); }; [Version("1.2.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Generic profile class")] //! Generic profile class class Profile { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of a profile class")] //! Version of a profile class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of a profile, used as a key")] //! Unique id of a profile, used as a key uint32 id; [Read: ToInstance ToSubClass, Description("Name of a profile")] //! Name of a profile string name; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4","5"}, Values{"3D Application","3D Global","nView Application","nView Global","Display","System"}, Description("Profile type. Possible values are: 0 - 3D Application, 1 - 3D Global, 2 - nView Application, 3 - nView Global, 4 - Display, 5 - System")] //! Profile type. Possible values are: 0 - 3D Application, 1 - 3D Global, 2 - nView Application, 3 - nView Global, 4 - Display, 5 - System uint32 type; [Read: ToInstance ToSubClass, Description("If true, profile is predefined and cannot be removed")] //! If true, profile is predefined and cannot be removed boolean isPredefined; [Read: ToInstance ToSubClass, Description("If true, profile is supported on this system")] //! If true, profile is supported on this system boolean isSupported; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of settings for a profile")] //! Array of settings for a profile Setting settings[]; [Implemented, Description("Set the 32-bit value by a setting ID")] //! Set the 32-bit value by a setting ID boolean setValueById ( [in]uint32 settingId, //!< Setting ID [in]uint32 value //!< 32-bit value ); [Implemented, Description("Set the binary value by a setting ID")] //! Set the binary value by a setting ID boolean setBinaryValueById ( [in]uint32 settingId, //!< Setting ID [in]uint8 value[] //!< Binary value as an array of bytes ); [Implemented, Description("Set the string value by a setting ID")] //! Set the string value by a setting ID boolean setStringValueById ( [in]uint32 settingId, //!< Setting ID [in]string value //!< String value ); [Implemented, Description("Restore or delete settings, specified by IDs. Predefined settings get restored and non-predefined settings get deleted.")] //! Restore or delete settings, specified by IDs. Predefined settings get restored and non-predefined settings get deleted. boolean restoreSettings ( [in]uint32 settingIds[] //!< Array of Setting IDs ); [Implemented, Description("formats basic information about a profile into a human-readable string")] //! formats basic information about a profile into a human-readable string string info(); }; [Version("1.2.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Application profile")] //! Application profile class ApplicationProfile : Profile { //! \publicsection [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of applications associated to the Application Profile")] //! Array of applications associated to the Application Profile Application applications[]; [Read: ToInstance ToSubClass, Description("Time when a profile was activated")] //! Time when a profile was activated DATETIME startTime; [Implemented, Description("Add applications to a Profile")] //! Add applications to a Profile boolean addApplications ( [in]string appNames[] //!< Array of Application names ); [Implemented, Description("Remove applications from a profile. Only non-predefined applications can be removed")] //! Remove applications from a profile. Only non-predefined applications can be removed boolean removeApplications ( [in]string appNames[] //!< Array of Application names ); [Implemented, Description("Set the 32-bit value for a setting")] //! Set the 32-bit value for a setting boolean setValueById ( [in]uint32 settingId, //!< Setting Id [in]uint32 value //!< 32-bit value ); [Implemented, Description("Set the binary value for a setting")] //! Set the binary value for a setting boolean setBinaryValueById ( [in]uint32 settingId, //!< Setting Id [in]uint8 value[] //!< Binary value as an array of bytes ); [Implemented, Description("Set the string value for a setting")] //! Set the string value for a setting boolean setStringValueById ( [in]uint32 settingId, //!< Setting Id [in]string value //!< String value ); [Implemented, Description("formats basic information about an application profile into a human-readable string")] //! formats basic information about an application profile into a human-readable string string info(); }; [Version("1.1.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Display profile")] //! Display profile class DisplayProfile : Profile { //! \publicsection [Read: ToInstance ToSubClass, Description("information about a display grid")] //! information about a display grid DisplayGridInfo grid; [Implemented, Description("formats basic information about a display profile into a human-readable string")] //! formats basic information about a display profile into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Useful information about a profile setting")] //! Useful information about a profile setting class SettingInfo { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of a SettingInfo class")] //! Version of a SettingInfo class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of a setting, used as a key")] //! Unique id of a setting, used as a key uint32 id; [Read: ToInstance ToSubClass, Description("Setting name")] //! Setting name string name; [Read: ToInstance ToSubClass, Description("Setting description")] //! Setting description string description; [Implemented, Description("formats information about a setting into a human-readable string")] //! formats information about a setting into a human-readable string string info(); }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|2.0"), Description("Table which describes profile settings of certain type")] //! Table which describes profile settings of certain type class SettingTable { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of a SettingTable class")] //! Version of a SettingTable class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique id of a setting table, used as a key")] //! Unique id of a setting table, used as a key uint32 id; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3","4","5"}, Values{"3D Application","3D Global","nView Application","nView Global","Display","System"}, Description("Profile type for settings in this table. Possible values are: 0 - 3D Application, 1 - 3D Global, 2 - nView Application, 3 - nView Global, 4 - Display, 5 - System")] //! Profile type for settings in this table. Possible values are: 0 - 3D Application, 1 - 3D Global, 2 - nView Application, 3 - nView Global, 4 - Display, 5 - System uint32 type; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of all setting IDs, described in this table")] //! Array of all setting IDs, described in this table uint32 settingIds[]; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of all setting names, described in this table")] //! Array of all setting names, described in this table string settingNames[]; [Read: ToInstance ToSubClass, ArrayType("Indexed"), Description("Array of settings, described in this table")] //! Array of settings, described in this table SettingInfo settings[]; [Implemented, Description("get setting ID from setting name")] //! get setting ID from setting name uint32 getIdFromName ( [in]string name //!< Setting name ); [Implemented, Description("get setting ID from setting name")] //! get setting ID from setting name string getNameFromId ( [in]uint32 id //!< Setting ID ); [Implemented, Description("formats information about given setting with given ID")] //! formats information about given setting with given ID string infoByName ( [in]string name //!< Setting name ); [Implemented, Description("formats information about given setting with given ID")] //! formats information about given setting with given ID string infoById ( [in]uint32 id //!< Setting ID ); [Implemented, Description("formats basic information about all settings into a human-readable string")] //! formats basic information about all settings into a human-readable string string info(); }; Instance of __Namespace { Name = "Events"; }; #pragma namespace("\\\\.\\root\\cimv2\\NV\\Events") instance of __Win32Provider as $EVENTPROVIDER { ClientLoadableCLSID = NULL; CLSID = "{0CB84A35-AB4F-4B6B-B4F6-493624B6C132}"; DefaultMachineName = NULL; HostingModel = "Decoupled:Com"; InitializeAsAdminFirst = FALSE; Name = "NVIDIA|NVWMI|EVENTS|2.0"; UnloadTimeout = NULL; SecurityDescriptor = "O:BAG:SYD:(A;;0x10000001;;;BA)(A;;0x10000001;;;SY)"; Version = 0x02000000; // 2.0.0 (major in MSB byte, then byte with minor, then 16-bit word with build) // Note that Version here is a property inherited from __Win32Provider }; [Version("2.1.0"), Dynamic, Provider("NVIDIA|NVWMI|EVENTS|2.0"), Description("Represents GPU thermal events")] //! Represents GPU thermal events class ThermalEvent : __ExtrinsicEvent { //! \publicsection [Read: ToInstance ToSubClass, Key, Description("Unique identification of the NVIDIA GPU")] //! Unique identification of the NVIDIA GPU uint32 handleGpu; [Read: ToInstance ToSubClass, Description("Thermal probe index in array of probes on a given GPU")] //! Thermal probe index in array of probes on a given GPU uint32 probeIndex; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"},Values{"unknown","normal","warning","critical"}, Description("Thermal level to identify the temperature zone. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical")] //! Thermal level to identify the temperature zone. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical uint32 thermalLevel; }; [Version("2.1.0"), Dynamic, Provider("NVIDIA|NVWMI|EVENTS|2.0"), Description("Represents GPU cooler events")] //! Represents GPU cooler events class CoolerEvent : __ExtrinsicEvent { //! \publicsection [Read: ToInstance ToSubClass, Key, Description("Unique identification of the NVIDIA GPU")] //! Unique identification of the NVIDIA GPU uint32 handleGpu; [Read: ToInstance ToSubClass, Description("Cooler index in array of coolers on a given GPU")] //! Cooler index in array of coolers on a given GPU uint32 coolerIndex; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","3"},Values{"unknown","normal","warning","critical"}, Description("Cooler level to identify the cooler zone. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical")] //! Cooler level to identify the cooler zone. Possible values are: 0 - unknown, 1 - normal, 2 - warning, 3 - critical uint32 coolerLevel; }; [Version("1.0.0"), Dynamic, Provider("NVIDIA|NVWMI|EVENTS|2.0"), Description("Represent Sync events")] //! Represent Sync events class SyncEvent : __ExtrinsicEvent { //! \publicsection [Read: ToInstance ToSubClass, Description("Version of the SyncEvent class")] //! Version of the SyncEvent class Version verClass; [Read: ToInstance ToSubClass, Key, Description("Unique sync device ID")] //! Unique sync device ID uint32 syncDeviceId; [Read: ToInstance ToSubClass, ValueMap{"0","1","2","4","8","0x10","0x20","0x40","0x80","0x10000"}, Values{"Unknown","SyncLoss","SyncGain","StereoLoss","StereoGain","HouseSyncGain","HouseSyncLoss","FlGain","FlLoss","SyncStateChange"}, Description("Sync event type. Possible values are: 0 - Unknown, 1 - SyncLoss, 2 - SyncGain, 4 - StereoLoss, 8 - StereoGain, 0x10 - HouseSyncGain, 0x20 - HouseSyncLoss, 0x40 - FlGain, 0x80 - FlLoss, 0x10000 - SyncStateChange")] //! Sync event type. Possible values are: 0 - Unknown, 1 - SyncLoss, 2 - SyncGain, 4 - StereoLoss, 8 - StereoGain, 0x10 - HouseSyncGain, 0x20 - HouseSyncLoss, 0x40 - FlGain, 0x80 - FlLoss, 0x10000 - SyncStateChange uint32 eventType; }; instance of __EventProviderRegistration { Provider = $EVENTPROVIDER; EventQueryList = {"select * from SyncEvent", "select * from CoolerEvent", "select * from ThermalEvent"}; };