0% found this document useful (0 votes)
107 views10 pages

Mystic Light Software Development Kit - 1.0.0.8

This document provides an overview and reference for the Mystic Light Software Development Kit version 1.0.0.08 from Micro-Star INT'L CO., LTD. The SDK allows control of LEDs on MSI products and requires Windows 7/8/10 and MSI Mystic Light applications. It includes functions for initializing the APIs, getting and setting LED colors, styles, and other properties.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views10 pages

Mystic Light Software Development Kit - 1.0.0.8

This document provides an overview and reference for the Mystic Light Software Development Kit version 1.0.0.08 from Micro-Star INT'L CO., LTD. The SDK allows control of LEDs on MSI products and requires Windows 7/8/10 and MSI Mystic Light applications. It includes functions for initializing the APIs, getting and setting LED colors, styles, and other properties.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Mystic Light Software Development Kit

Reference Documentation

Version 1.0.0.08

Jan. 2022

Micro-Star INT’L CO., LTD.

Desktop Platform Solution Division Software Department


Micro-Star INT'L CO., LTD. Confidential

Overview
- Introduction

- System Requirements

- New/Update Functions

- Function APIs

- Function Documentation

- MLAPI Status Values

Introduction
 This SDK is provides the LED control functions for MSI products such as MSI Motherboards,
Graphics Cards, Desktops, Laptops, peripherals, etc.

 This SDK is based on the Microsoft development environment that supports Microsoft Visual Studio
C++ and C# programming language.

System Requirements
 This SDK is supported on Windows 7 / 8 / 8.1 / 10 / 11, both 32-bit and 64-bit architectures.

 MSI Mystic Light related applications must be installed before using the SDK function.

New/Update Functions
 Added FPS performance Optimization.

 Added processor utilization Improvement.

Confidential Micro-Star INT'L CO., LTD.

1
Micro-Star INT'L CO., LTD. Confidential

Function APIs
int MLAPI_GetErrorMessage(int, BSTR*)
This function converts a MLAPI error code into general string.
int MLAPI_Initialize()
This function initializes the APIs.
int MLAPI_Release()
This function release the APIs.
int MLAPI_GetDeviceInfo(SAFEARRAY**, SAFEARRAY**)
This function retrieves information of all devices
int MLAPI_GetDeviceName(BSTR, SAFEARRAY**)
This function retrieves the friendly name of specific device.
int MLAPI_GetDeviceNameEx(BSTR, DWORD, BSTR*)
This function retrieves the friendly name of specific device.
int MLAPI_GetLedInfo(BSTR,DWORD, BSTR*, SAFEARRAY**)
This function retrieves the LED display name and enumerate the LED styles.
int MLAPI_GetLedName(BSTR, SAFEARRAY**)
This function retrieves the all LED name of specific device.
int MLAPI_GetLedColor(BSTR, DWORD, DWORD*, DWORD*, DWORD*)
This function retrieves the specific LED current color.
int MLAPI_GetLedStyle(BSTR, DWORD, BSTR*)
This function retrieves the specific LED current style.
int MLAPI_GetLedMaxBright(BSTR, DWORD, DWORD*)
This function retrieves a specific LED supports the maximum brightness level.
int MLAPI_GetLedBright(BSTR, DWORD, DWORD*)
This function retrieves the specific LED current brightness level.
int MLAPI_GetLedMaxSpeed(BSTR, DWORD, DWORD*)
This function retrieves a specific LED supports the maximum speed level.
int MLAPI_GetLedSpeed(BSTR, DWORD, DWORD*)
This function retrieves the specific LED current speed level.
int MLAPI_SetLedColor(BSTR, DWORD, DWORD, DWORD , DWORD)
This function sets the LED to a specific color.
int MLAPI_SetLedColorsSync(BSTR, DWORD, DWORD , DWORD)
This function sets the colors for each individual LED within LED area by its name.
int MLAPI_SetLedColors(BSTR, DWORD, SAFEARRAY**, DWORD*, DWORD*, DWORD*)
This function sets the colors for each individual LED within LED area by its name.
int MLAPI_SetLedColorEx(BSTR, DWORD, BSTR, DWORD, DWORD, DWORD, DWORD)
This function sets the colors for each individual LED within LED area by its name.
int MLAPI_SetLedColorSync(BSTR, DWORD, BSTR, DWORD, DWORD, DWORD, DWORD)
This function sets the colors for each individual LED within LED area by its name.
int MLAPI_SetLedStyle(BSTR, DWORD, BSTR)
This function sets the LED to a specific style.
int MLAPI_SetLedBright(BSTR, DWORD, DWORD)
This function sets the LED brightness to a specific level.
int MLAPI_SetLedSpeed(BSTR, DWORD, DWORD)
This function sets the LED blink speed to a specific level.
int MLAPI_MysticLightControlNotify(CallbackFunc *)
This function register Mystic Light controlling notification.

Confidential Micro-Star INT'L CO., LTD.

2
Micro-Star INT'L CO., LTD. Confidential

Function Documentation
int MLAPI_Initialize()
Description: This function initializes the APIs. This must be called before calling other MLAPI_ functions.

Return values:
MLAPI_OK Initialized.
MLAPI_NO_IMPLEMENTED MSI application not found or current version is not supported.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_Release()
Description: This function release the APIs.

Return values:
MLAPI_OK Initialized.
MLAPI_ERROR Generic error.

int MLAPI_GetDeviceInfo(SAFEARRAY** pDevType, SAFEARRAY** pLedCount)


Description: This function retrieves information of all devices.

Parameters:
[out] pDevType Pointer to a safe array containing defined type of all devices.
[out] pLedCount Pointer to a safe array containing the number of LEDs for all devices.

Return values:
MLAPI_OK Initialized.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_GetDeviceName(BSTR type, SAFEARRAY** pDevName)


Description: This function retrieves the friendly name of specific device.

Parameters:
[in] type The defined of device type.
[out] pDevName Pointer to a safe array containing the friendly name of specific device.

Return values:
MLAPI_OK Initialized.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_GetDeviceNameEx(BSTR type, DWORD index, BSTR* pDevName)


Description: This function retrieves the friendly name of specific device.

Parameters:
[in] type The defined of device type.
[in] index The defined of device id.
[out] pDevName The friendly name of specific device.

Return values:
MLAPI_OK Initialized.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

Confidential Micro-Star INT'L CO., LTD.

3
Micro-Star INT'L CO., LTD. Confidential

int MLAPI_GetLedInfo(BSTR type, DWORD index, BSTR* pName, SAFEARRAY** pLedStyles)


Description: This function retrieves the information of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] pName The LED display name of the specified LED.
[out] pLedStyles The support styles of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_GetLedName(BSTR type, SAFEARRAY** pDevName)


Description: This function retrieves the all LED name within LED area of specific device.

Parameters:
[in] type The defined of device type.
[out] pDevName Pointer to a safe array containing the all LED name within LED area of specific device.

Return values:
MLAPI_OK Initialized.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_GetLedColor(BSTR type, DWORD index, DWORD* R, DWORD* G, DWORD* B)


Description: This function retrieves the color of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] R Pointer to DWORD variable containing the red code of the RGB color.
[out] G Pointer to DWORD variable containing the green code of the RGB color.
[out] B Pointer to DWORD variable containing the blue code of the RGB color.
Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

int MLAPI_GetLedStyle(BSTR type, DWORD index, BSTR* style)


Description: This function retrieves the style of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] style Pointer to a BSTR variable containing the style of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.
MLAPI_INITIAL_TIMEOUT MLAPI_Initialize timeout.

Confidential Micro-Star INT'L CO., LTD.

4
Micro-Star INT'L CO., LTD. Confidential

int MLAPI_GetLedMaxBright(BSTR type, DWORD index, DWORD* maxLevel)


Description: This function retrieves the maximum brightness level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] style Pointer to a DWORD variable containing the maximum brightness level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_GetLedBright(BSTR type, DWORD index, DWORD* currentLevel)


Description: This function retrieves the brightness level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] style Pointer to a DWORD variable containing the brightness level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_GetLedMaxSpeed(BSTR type, DWORD index, DWORD* maxLevel)


Description: This function retrieves the maximum speed level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] style Pointer to a DWORD variable containing the maximum speed level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_GetLedSpeed(BSTR type, DWORD index, DWORD* currentLevel)


Description: This function retrieves the speed level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[out] style Pointer to a DWORD variable containing the speed level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

Confidential Micro-Star INT'L CO., LTD.

5
Micro-Star INT'L CO., LTD. Confidential

int MLAPI_SetLedColor(BSTR type, DWORD index, DWORD R, DWORD G, DWORD B)


Description: This function sets the color of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[in] R Pointer to DWORD variable containing the red code of the RGB color.
[in] G Pointer to DWORD variable containing the green code of the RGB color.
[in] B Pointer to DWORD variable containing the blue code of the RGB color.
Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_SetLedColorsSync(BSTR type, DWORD R, DWORD G, DWORD B)

Description: This function sets the colors for each individual LED within LED area by its name.

Parameters:
[in] type The defined of device type.
[in] R Pointer to DWORD variable containing the red code of the RGB color.
[in] G Pointer to DWORD variable containing the green code of the RGB color.
[in] B Pointer to DWORD variable containing the blue code of the RGB color.
Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_SetLedColors(BSTR type, DWORD index, SAFEARRAY** pLedName, DWORD* R, DWORD* G, DWORD* B)

Description: This function sets colors for each individual LED within LED area by its name.

Remark: This must be called after calling MLAPI_SetLedStyle function if support "Direct Lighting Control" style.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the area index.
[in] pLedName Pointer to safe array variable containing the LED name of specific area.
[in] R Pointer to DWORD variable containing the red code of the RGB color.
[in] G Pointer to DWORD variable containing the green code of the RGB color.
[in] B Pointer to DWORD variable containing the blue code of the RGB color.

Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

Confidential Micro-Star INT'L CO., LTD.

6
Micro-Star INT'L CO., LTD. Confidential

int MLAPI_SetLedColorEx(BSTR type, DWORD index, BSTR pLedName, DWORD R, DWORD G, DWORD B, DWORD Sync)

Description: This function sets colors for specified LED within LED area by its name.

Remark: This must be called after calling MLAPI_SetLedStyle function if support "Direct Lighting Control" style.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the area index.
[in] pLedName The LED name of specific area.
[in] R The red code of the RGB color.
[in] G The green code of the RGB color.
[in] B The blue code of the RGB color.
[in] Sync Sync LED color of specific area immediately.

Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_SetLedColorSync(BSTR type, DWORD index, BSTR pLedName, DWORD R, DWORD G, DWORD B, DWORD Sync)

Description: This function sets colors for specified LED within LED area by its name.

Remark: This must be called after calling MLAPI_SetLedStyle function if support "Direct All Sync" style.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the area index.
[in] pLedName The LED name of specific area.
[in] R The red code of the RGB color.
[in] G The green code of the RGB color.
[in] B The blue code of the RGB color.
[in] Sync Sync LED color of specific area immediately.

Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_SetLedStyle(BSTR type, DWORD index, BSTR style)


Description: This function sets the style of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[in] style The style of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

Confidential Micro-Star INT'L CO., LTD.

7
Micro-Star INT'L CO., LTD. Confidential

int MLAPI_SetLedBright(BSTR type, DWORD index, DWORD level)


Description: This function sets the brightness level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[in] style brightness level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_SetLedSpeed(BSTR type, DWORD index, DWORD level)


Description: This function sets the speed level of the specified LED.

Parameters:
[in] type The defined of device type.
[in] index The LED identifier of the device.
[in] style speed level of the specified LED.

Return values:
MLAPI_OK Initialized.
MLAPI_INVALID_ARGUMENT The parameter value is not valid.
MLAPI_DEVICE_NOT_FOUND The device is not found.
MLAPI_NOT_SUPPORTED Requested feature is not supported in the selected LED.
MLAPI_NOT_INITIALIZED MLAPI_Initialize has not been called successful.

int MLAPI_GetErrorMessage(int ErrorCode, BSTR* pDesc)


Description: This function converts a MLAPI error code into general string.

Parameters:
[in] ErrorCode The APIs return status values.
[out] pDesc Pointer to a BSTR variable containing the Description of the error code.

Return values:
MLAPI_OK Always, string never null.

int MLAPI_MysticLightControlNotify(CallbackFunc* FuncPointer)


Description: This function register Mystic Light controlling notification.

Parameters:
[in] FuncPointer The callback function address.

Return values:
MLAPI_OK Initialized.
MLAPI_NO_IMPLEMENTED MSI application not found or current version is not supported.

Confidential Micro-Star INT'L CO., LTD.

8
Micro-Star INT'L CO., LTD. Confidential

MLAPI Status Values


MLAPI_OK = 0
Description: Request is completed.

MLAPI_ERROR = -1
Description: Generic error.

MLAPI_TIMEOUT = -2
Description: Request is timeout.

MLAPI_NO_IMPLEMENTED = -3
Description: MSI application not found or installed version not supported.

MLAPI_NOT_INITIALIZED = -4
Description: MLAPI_Initialize has not been called successful.

MLAPI_INVALID_ARGUMENT = -101
Description: The parameter value is not valid.

MLAPI_DEVICE_NOT_FOUND = -102
Description: The device is not found.

MLAPI_NOT_SUPPORTED = -103
Description: Requested feature is not supported in the selected LED.

Confidential Micro-Star INT'L CO., LTD.

You might also like