Создание плагинов

Материал из AmbiBox
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{DISPLAYTITLE:<span style="display:none">{{FULLPAGENAME}}</span>}} == Создание плагинов подсветки == Плагины подсветки …»)
 
Строка 8: Строка 8:
  
 
[[Файл:Ru_Backlight_Plugins_1.png]]<br />
 
[[Файл:Ru_Backlight_Plugins_1.png]]<br />
 +
 +
 +
Плагин создается как DLL и экспортирует следующие функции:<br />
  
 
<source lang="cpp">
 
<source lang="cpp">
Строка 150: Строка 153:
 
#endif
 
#endif
 
</source>
 
</source>
 +
<br />
  
 
== Создание глобальных плагинов ==
 
== Создание глобальных плагинов ==
Глобальные плагины предназначены для создания световых эффектов и взаимодействуют
+
Глобальные плагины предназначены для создания световых эффектов и взаимодействуют с дистанционным управлением.<br />
 +
 
 +
Плагины располагаются они в каталоге:<br />
 +
'''c:\Program Files\AmbiBox\Plugins\Global\[Имя каталога плагина]'''<br />
 +
 
 +
 
 +
В программе плагины расположены тут:<br />
 +
 
 +
[[Файл:Ru_Global_Plugins_1.png]]<br />
 +
 
 +
 
 +
Плагин создается как DLL и экспортирует следующие функции:<br />
 +
<source lang="cpp">
 +
//---------------------------------------------------------------------------
 +
// AmbiBox global plugins interface
 +
// Copyright (C) AmbiBox 2004-2014
 +
// AmbiBox@mail.ru
 +
// http://www.ambibox.ru
 +
//---------------------------------------------------------------------------
 +
#ifndef AMBIBOX_PLUGINS_H
 +
#define AMBIBOX_PLUGINS_H
 +
 
 +
#include <windows.h>
 +
 
 +
#define AMB_TYPE_BACKLIGHT    0x0001 // Фоновая подсветка
 +
#define AMB_TYPE_IR      0x0002 // Дистаноционное управление
 +
 
 +
#define AMB_NO_ERROR   0x0000
 +
#define AMB_ERROR_INIT   0x0001
 +
#define AMB_ERROR_START   0x0002
 +
#define AMB_ERROR_SETTINGS   0x0003
 +
#define AMB_ERROR_NO_BACKLIGHT_TYPE   0x0004
 +
#define AMB_ERROR_NO_IR_TYPE   0x0005
 +
#define AMB_ERROR_NO_CORRECT_PID   0x0006
 +
#define AMB_ERROR_COMMAND   0x0007
 +
#define AMB_ERROR_DEVICE_NOT_LOCKED   0x0008
 +
#define AMB_ERROR_SMALL_TIME   0x0009
 +
#define AMB_ERROR_NOT_SENDED   0x000A
 +
#define AMB_ERROR_ALREADY_LOCKED   0x000B
 +
 
 +
#define AMB_EVENT_CALLBACK   0x0000
 +
#define AMB_EVENT_WM_MESSAGE  0x0001
 +
 
 +
#define AMB_LOCK_DEVICE  0x0001
 +
#define AMB_UNLOCK_DEVICE  0x0002
 +
#define AMB_DATA_TO_DEVICE  0x0003
 +
 
 +
#pragma pack (push, 1)
 +
typedef struct _BACKLIGHT_DATA
 +
{
 +
DWORD dwPluginID;  // ID плагина, задается программой
 +
DWORD *InputData; // Буффер с данными о цвете RGB светодиодов
 +
DWORD dwDataSize; // Количество данных в InputData
 +
DWORD dwDeviceStatus; // Действие для устройства
 +
 
 +
} BACKLIGHT_DATA, *LPBACKLIGHT_DATA;
 +
 
 +
typedef int (__stdcall *AMB_IRCALLBACK)(BYTE *IR_Data, DWORD IR_Size, wchar_t *ButtonName);
 +
typedef int (__stdcall *AMB_BACKLIGHTCALLBACK)(LPBACKLIGHT_DATA backlight);
 +
typedef void (__stdcall *AMB_LOGCALLBACK)(wchar_t *Message);
 +
 
 +
typedef struct _AMBIBOX_PLUGIN_SETTINGS
 +
{
 +
DWORD dwPluginVersion;  // Версия плагина и полей структуры.
 +
 
 +
// Start structure plugin version 1
 +
DWORD dwPluginID; // ID плагина, задается программой
 +
DWORD dwEventMethod;    // Способ передачи данных основной программе
 +
                            // 0 - через функцию обратного вызова.
 +
                            // 1 - через сообщение WM_SETPLUGINDATA
 +
    DWORD dwMinEventTime;    // Минимальный интервал вызова CallBack(SendMessage) функции в миллисекундах.
 +
DWORD dwLedsCount;        // Количество RGB LED светодиодов (зон) поддерживаемых устройством
 +
DWORD dwBitOfColor;        // Размер RGB пространства в битах,
 +
// 8, 9, 10, 11, 12 - бит на цвет.
 +
AMB_BACKLIGHTCALLBACK InputBacklightFunc; // Функция обратного вызова которая вызывается плагином,
 +
// для передачи в программу данные о цвете. Задается программой.
 +
HWND hWndEvent;        // Хэндл для передачи данных плагина через WM_SETPLUGINDATA
 +
DWORD dwMessageID;      // идентификатор сообщения WM_SETPLUGINDATA = dwMessageID
 +
// SendMessage(hWndEvent, WM_SETPLUGINDATA, ....);
 +
// lParam = (LPARAM)(BACKLIGHT_DATA backlight_data);
 +
AMB_IRCALLBACK OutputIrFunc; // Функция обратного вызова которая вызывается программой,
 +
// для передачи в плагин ИК данных? задается плагином.
 +
//AMB_LOGCALLBACK WriteToLog; // Функция обратного вызова которая вызывается плагином,
 +
// // Записывает в лог сообщения от плагина
 +
wchar_t Language[100];      // Имя языка "English", "Deutsch", "Russian" и т.д.
 +
DWORD dwProfile; // Передаем в плагин номер профиля
 +
// End structure plugin version 1
 +
 
 +
} AMBIBOX_PLUGIN_SETTINGS, *LPAMBIBOX_PLUGIN_SETTINGS;
 +
#pragma pack (pop)
 +
 
 +
typedef void (__stdcall *AMB_DLL_FUNC_SETLOGFUNC)(AMB_LOGCALLBACK);
 +
typedef DWORD (__stdcall *AMB_DLL_FUNC_GETTYPE)(void);
 +
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETNAME)(void);
 +
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETVERSION)(void);
 +
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETDESCRIPTION)(void);
 +
typedef int (__stdcall *AMB_DLL_FUNC_INIT)(void);
 +
typedef int (__stdcall *AMB_DLL_FUNC_UNINIT)(void);
 +
typedef int (__stdcall *AMB_DLL_FUNC_START)(void);
 +
typedef int (__stdcall *AMB_DLL_FUNC_STOP)(void);
 +
typedef int (__stdcall *AMB_DLL_FUNC_SHOWSETTINGS)(HWND);
 +
typedef int (__stdcall *AMB_DLL_FUNC_SETPLUGINSETTINGS)(LPAMBIBOX_PLUGIN_SETTINGS settings);
 +
typedef int (__stdcall *AMB_DLL_FUNC_SAVESETTINGS)(void);
 +
 
 +
 
 +
/* Экспортируемые функции плагина */
 +
extern "C" __declspec(dllexport) void __stdcall AMB_SetLogFunc(AMB_LOGCALLBACK WriteToLog);
 +
extern "C" __declspec(dllexport) DWORD __stdcall AMB_GetType(void);
 +
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetName(void);
 +
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetVersion(void);
 +
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetDescription(void);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_Init(void);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_UnInit(void);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_Start(void);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_Stop(void);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_ShowSettings(HWND hWndParent);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_SetPluginSettings(LPAMBIBOX_PLUGIN_SETTINGS settings);
 +
extern "C" __declspec(dllexport) int __stdcall AMB_SaveSettings(void);
 +
 +
/*
 +
Examle:
 +
//------------------------------------------------------------------------------
 +
// Get plugin type
 +
DWORD __stdcall AMB_GetType(void)
 +
{
 +
return (TYPE_BACKLIGHT | TYPE_IR);
 +
}
 +
//------------------------------------------------------------------------------
 +
// Get plugin name
 +
wchar_t * __stdcall AMB_GetName(void)
 +
{
 +
return L"Color Music";
 +
}
 +
//------------------------------------------------------------------------------
 +
// Get plugin version
 +
wchar_t * __stdcall AMB_GetVersion(void)
 +
{
 +
return L"2.0.3";
 +
}
 +
//------------------------------------------------------------------------------
 +
// Get more information plugin
 +
wchar_t * __stdcall AMB_GetDescription(void)
 +
{
 +
return L"Plugin for Backlight\n\rDeveloper Maxim\n\r Web: http://www.ambibox.ru\n\rE-mail:AmbiBox@mail.ru";
 +
}
 +
//------------------------------------------------------------------------------
 +
// Initialize the plugin
 +
int __stdcall AMB_Init(void)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// UnInitialize the plugin
 +
int __stdcall AMB_UnInit(void)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// Start transmission of data from the plugin
 +
int __stdcall AMB_Start(void)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// Stop transmission of data from the plugin
 +
int __stdcall AMB_Stop(void)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// Display settings window plug-in
 +
int __stdcall AMB_ShowSettings(HWND hWndParent)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// Set parameters to the plug-in
 +
int __stdcall AMB_SetPluginSettings(LAMBIBOX_PLUGIN_SETTINGS settings)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
//------------------------------------------------------------------------------
 +
// Save settings of plug-in
 +
int __stdcall SIR_SaveSettings(void)
 +
{
 +
int ErrorCode = 3;
 +
return 0; // Success
 +
return ErrorCode; // Error code > 0
 +
}
 +
*/
 +
#endif
 +
</source>
 +
 
 +
== Порядок инициализации плагина программой AmbiBox ==

Версия 06:19, 10 апреля 2014

Создание плагинов подсветки

Плагины подсветки предназначены для создания световых эффектов в интеллектуальной подсветке и располагаются они в каталоге:
c:\Program Files\AmbiBox\Plugins\Backlight\[Имя каталога плагина]


В программе плагины расположены тут:

Ru Backlight Plugins 1.png


Плагин создается как DLL и экспортирует следующие функции:

//---------------------------------------------------------------------------
// AmbiBox backlight plugins interface
// Copyright (C) AmbiBox 2004-2014
// AmbiBox@mail.ru
// http://www.ambibox.ru
//---------------------------------------------------------------------------
#ifndef BACKLIGHT_PLUGINS_H
#define BACKLIGHT_PLUGINS_H
 
#include <windows.h>
 
typedef int (__stdcall *SIR_INPUTCALLBACK)(DWORD *InputData, DWORD dwLedsCount);
 
#pragma pack (push, 1)
typedef struct _BACKLIGHT_PLUGIN_SETTINGS
{
    DWORD dwPluginVersion;  // Версия плагина и полей структуры.
 
    // Start structure plugin version 1
    DWORD dwEventMethod;    // Способ передачи данных основной программе
                            // 0 - через функцию обратного вызова.
                            // 1 - через сообщение WM_SETPLUGINDATA
    DWORD dwMinEventTime;    // Минимальный интервал вызова CallBack(SendMessage) функции в миллисекундах.
	DWORD dwLedsCount;         // Количество RGB LED светодиодов (зон) поддерживаемых устройством
    DWORD dwBitOfColor;        // Размер RGB пространства в битах,
                            // 8, 9, 10, 11, 12 - бит на цвет.
    SIR_INPUTCALLBACK input_func; // Функция обратного вызова которая вызывается плагином.
    HWND hWndEvent;         // Хэндл для передачи данных плагина через WM_SETPLUGINDATA
	DWORD dwMessageID;      // идентификатор сообщения WM_SETPLUGINDATA = dwMessageID
							// SendMessage(hWndEvent, WM_SETPLUGINDATA, ....);
							// lParam = (WPARAM)InputData; wParam = (WPARAM)dwLedsCount;
	wchar_t Language[100];  // Имя языка "English", "Deutsch", "Russian" и т.д.
	DWORD	dwProfile;			// Передаем в плагин номер профиля
	// End structure plugin version 1
 
} BACKLIGHT_PLUGIN_SETTINGS, *LPBACKLIGHT_PLUGIN_SETTINGS;
#pragma pack (pop)
 
typedef wchar_t *(__stdcall *SIR_DLL_FUNC_GETNAME)(void);
typedef wchar_t *(__stdcall *SIR_DLL_FUNC_GETVERSION)(void);
typedef wchar_t *(__stdcall *SIR_DLL_FUNC_GETDESCRIPTION)(void);
typedef int (__stdcall *SIR_DLL_FUNC_INIT)(void);
typedef int (__stdcall *SIR_DLL_FUNC_UNINIT)(void);
typedef int (__stdcall *SIR_DLL_FUNC_START)(void);
typedef int (__stdcall *SIR_DLL_FUNC_STOP)(void);
typedef int (__stdcall *SIR_DLL_FUNC_SHOWSETTINGS)(HWND);
typedef int (__stdcall *SIR_DLL_FUNC_SETBACKLIGHTSETTINGS)(LPBACKLIGHT_PLUGIN_SETTINGS settings);
typedef int (__stdcall *SIR_DLL_FUNC_SAVESETTINGS)(void);
 
/* Экспортируемые функции плагина */
 
extern "C" __declspec(dllexport) wchar_t * __stdcall SIR_GetName(void);
extern "C" __declspec(dllexport) wchar_t * __stdcall SIR_GetVersion(void);
extern "C" __declspec(dllexport) wchar_t * __stdcall SIR_GetDescription(void);
extern "C" __declspec(dllexport) int __stdcall SIR_Init(void);
extern "C" __declspec(dllexport) int __stdcall SIR_UnInit(void);
extern "C" __declspec(dllexport) int __stdcall SIR_Start(void);
extern "C" __declspec(dllexport) int __stdcall SIR_Stop(void);
extern "C" __declspec(dllexport) int __stdcall SIR_ShowSettings(HWND hWndParent);
extern "C" __declspec(dllexport) int __stdcall SIR_SetBacklightSettings(LPBACKLIGHT_PLUGIN_SETTINGS settings);
extern "C" __declspec(dllexport) int __stdcall SIR_SaveSettings(void);
/*
Examle:
//------------------------------------------------------------------------------
// Get plugin name
wchar_t * __stdcall SIR_GetName(void)
{
	return L"ColorMusic";
}
//------------------------------------------------------------------------------
// Get plugin version
wchar_t * __stdcall SIR_GetVersion(void)
{
	return L"2.0.3";
}
//------------------------------------------------------------------------------
// Get more information plugin
wchar_t * __stdcall SIR_GetDescription(void)
{
	return L"Plugin for Backlight\n\rDeveloper Maxim\n\r Web: http://www.ambibox.ru\n\rE-mail:AmbiBox@mail.ru";
}
//------------------------------------------------------------------------------
// Initialize the plugin
int __stdcall SIR_Init(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// UnInitialize the plugin
int __stdcall SIR_UnInit(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Start transmission of data from the plugin
int __stdcall SIR_Start(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Stop transmission of data from the plugin
int __stdcall SIR_Stop(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Display settings window plug-in
int __stdcall SIR_ShowSettings(HWND hWndParent)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Set parameters to the plug-in
int __stdcall SIR_SetBacklightSettings(LPBACKLIGHT_PLUGIN_SETTINGS settings)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Save settings of plug-in
int __stdcall SIR_SaveSettings(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
*/
#endif


Создание глобальных плагинов

Глобальные плагины предназначены для создания световых эффектов и взаимодействуют с дистанционным управлением.

Плагины располагаются они в каталоге:
c:\Program Files\AmbiBox\Plugins\Global\[Имя каталога плагина]


В программе плагины расположены тут:

Ru Global Plugins 1.png


Плагин создается как DLL и экспортирует следующие функции:

//---------------------------------------------------------------------------
// AmbiBox global plugins interface
// Copyright (C) AmbiBox 2004-2014
// AmbiBox@mail.ru
// http://www.ambibox.ru
//---------------------------------------------------------------------------
#ifndef AMBIBOX_PLUGINS_H
#define AMBIBOX_PLUGINS_H
 
#include <windows.h>
 
#define AMB_TYPE_BACKLIGHT    			0x0001 // Фоновая подсветка
#define AMB_TYPE_IR    		  		0x0002 // Дистаноционное управление
 
#define AMB_NO_ERROR		  		0x0000
#define AMB_ERROR_INIT		  		0x0001
#define AMB_ERROR_START		  		0x0002
#define AMB_ERROR_SETTINGS	  		0x0003
#define AMB_ERROR_NO_BACKLIGHT_TYPE	  	0x0004
#define AMB_ERROR_NO_IR_TYPE	  		0x0005
#define AMB_ERROR_NO_CORRECT_PID	  	0x0006
#define AMB_ERROR_COMMAND	  		0x0007
#define AMB_ERROR_DEVICE_NOT_LOCKED	  	0x0008
#define AMB_ERROR_SMALL_TIME	  		0x0009
#define AMB_ERROR_NOT_SENDED	  		0x000A
#define AMB_ERROR_ALREADY_LOCKED	  	0x000B
 
#define AMB_EVENT_CALLBACK	  		0x0000
#define AMB_EVENT_WM_MESSAGE  			0x0001
 
#define AMB_LOCK_DEVICE  			0x0001
#define AMB_UNLOCK_DEVICE  			0x0002
#define AMB_DATA_TO_DEVICE  			0x0003
 
#pragma pack (push, 1)
typedef struct _BACKLIGHT_DATA
{
	DWORD dwPluginID;   	// ID плагина, задается программой
	DWORD *InputData;		// Буффер с данными о цвете RGB светодиодов
	DWORD dwDataSize;		// Количество данных в InputData
	DWORD dwDeviceStatus; 	// Действие для устройства
 
} BACKLIGHT_DATA, *LPBACKLIGHT_DATA;
 
typedef int (__stdcall *AMB_IRCALLBACK)(BYTE *IR_Data, DWORD IR_Size, wchar_t *ButtonName);
typedef int (__stdcall *AMB_BACKLIGHTCALLBACK)(LPBACKLIGHT_DATA backlight);
typedef void (__stdcall *AMB_LOGCALLBACK)(wchar_t *Message);
 
typedef struct _AMBIBOX_PLUGIN_SETTINGS
{
	DWORD dwPluginVersion;  // Версия плагина и полей структуры.
 
	// Start structure plugin version 1
	DWORD dwPluginID; 		// ID плагина, задается программой
	DWORD dwEventMethod;    // Способ передачи данных основной программе
                            // 0 - через функцию обратного вызова.
                            // 1 - через сообщение WM_SETPLUGINDATA
    DWORD dwMinEventTime;    // Минимальный интервал вызова CallBack(SendMessage) функции в миллисекундах.
	DWORD dwLedsCount;         // Количество RGB LED светодиодов (зон) поддерживаемых устройством
	DWORD dwBitOfColor;        // Размер RGB пространства в битах,
							// 8, 9, 10, 11, 12 - бит на цвет.
	AMB_BACKLIGHTCALLBACK InputBacklightFunc; // Функция обратного вызова которая вызывается плагином,
							// для передачи в программу данные о цвете. Задается программой.
	HWND hWndEvent;         // Хэндл для передачи данных плагина через WM_SETPLUGINDATA
	DWORD dwMessageID;      // идентификатор сообщения WM_SETPLUGINDATA = dwMessageID
							// SendMessage(hWndEvent, WM_SETPLUGINDATA, ....);
							// lParam = (LPARAM)(BACKLIGHT_DATA backlight_data);
	AMB_IRCALLBACK OutputIrFunc; // Функция обратного вызова которая вызывается программой,
							// для передачи в плагин ИК данных? задается плагином.
	//AMB_LOGCALLBACK WriteToLog; // Функция обратного вызова которая вызывается плагином,
	//							// Записывает в лог сообщения от плагина
	wchar_t Language[100];      // Имя языка "English", "Deutsch", "Russian" и т.д.
	DWORD	dwProfile;			// Передаем в плагин номер профиля
	// End structure plugin version 1
 
} AMBIBOX_PLUGIN_SETTINGS, *LPAMBIBOX_PLUGIN_SETTINGS;
#pragma pack (pop)
 
typedef void (__stdcall *AMB_DLL_FUNC_SETLOGFUNC)(AMB_LOGCALLBACK);
typedef DWORD (__stdcall *AMB_DLL_FUNC_GETTYPE)(void);
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETNAME)(void);
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETVERSION)(void);
typedef wchar_t *(__stdcall *AMB_DLL_FUNC_GETDESCRIPTION)(void);
typedef int (__stdcall *AMB_DLL_FUNC_INIT)(void);
typedef int (__stdcall *AMB_DLL_FUNC_UNINIT)(void);
typedef int (__stdcall *AMB_DLL_FUNC_START)(void);
typedef int (__stdcall *AMB_DLL_FUNC_STOP)(void);
typedef int (__stdcall *AMB_DLL_FUNC_SHOWSETTINGS)(HWND);
typedef int (__stdcall *AMB_DLL_FUNC_SETPLUGINSETTINGS)(LPAMBIBOX_PLUGIN_SETTINGS settings);
typedef int (__stdcall *AMB_DLL_FUNC_SAVESETTINGS)(void);
 
 
/* Экспортируемые функции плагина */
extern "C" __declspec(dllexport) void __stdcall AMB_SetLogFunc(AMB_LOGCALLBACK WriteToLog);
extern "C" __declspec(dllexport) DWORD __stdcall AMB_GetType(void);
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetName(void);
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetVersion(void);
extern "C" __declspec(dllexport) wchar_t * __stdcall AMB_GetDescription(void);
extern "C" __declspec(dllexport) int __stdcall AMB_Init(void);
extern "C" __declspec(dllexport) int __stdcall AMB_UnInit(void);
extern "C" __declspec(dllexport) int __stdcall AMB_Start(void);
extern "C" __declspec(dllexport) int __stdcall AMB_Stop(void);
extern "C" __declspec(dllexport) int __stdcall AMB_ShowSettings(HWND hWndParent);
extern "C" __declspec(dllexport) int __stdcall AMB_SetPluginSettings(LPAMBIBOX_PLUGIN_SETTINGS settings);
extern "C" __declspec(dllexport) int __stdcall AMB_SaveSettings(void);
 
/*
Examle:
//------------------------------------------------------------------------------
// Get plugin type
DWORD __stdcall AMB_GetType(void)
{
	return (TYPE_BACKLIGHT | TYPE_IR);
}
//------------------------------------------------------------------------------
// Get plugin name
wchar_t * __stdcall AMB_GetName(void)
{
	return L"Color Music";
}
//------------------------------------------------------------------------------
// Get plugin version
wchar_t * __stdcall AMB_GetVersion(void)
{
	return L"2.0.3";
}
//------------------------------------------------------------------------------
// Get more information plugin
wchar_t * __stdcall AMB_GetDescription(void)
{
	return L"Plugin for Backlight\n\rDeveloper Maxim\n\r Web: http://www.ambibox.ru\n\rE-mail:AmbiBox@mail.ru";
}
//------------------------------------------------------------------------------
// Initialize the plugin
int __stdcall AMB_Init(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// UnInitialize the plugin
int __stdcall AMB_UnInit(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Start transmission of data from the plugin
int __stdcall AMB_Start(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Stop transmission of data from the plugin
int __stdcall AMB_Stop(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Display settings window plug-in
int __stdcall AMB_ShowSettings(HWND hWndParent)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Set parameters to the plug-in
int __stdcall AMB_SetPluginSettings(LAMBIBOX_PLUGIN_SETTINGS settings)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
//------------------------------------------------------------------------------
// Save settings of plug-in
int __stdcall SIR_SaveSettings(void)
{
	int ErrorCode = 3;
	return 0; // Success
	return ErrorCode; // Error code > 0
}
*/
#endif

Порядок инициализации плагина программой AmbiBox

Персональные инструменты
Пространства имён

Варианты
Действия
AmbiBox
In other languages
Описание
Фото-видео галерея
Поддержка
Инструменты
donate