Dacris Benchmarks Software Development Kit
(SDK)

Introduction
Version 4.9 of Dacris Benchmarks brings with it a brand new modular
architecture that programmers can use to make their own plug-ins. The plug-ins
come in the form of DLL files. There is a certain format that these DLL files
must have, and this article explains the basics of that format. The DLL plug-ins
can be made in any C++ compiler.
Tests
The names of all test plug-ins that Dacris Benchmarks should load are stored
in a file called "Tests.ini". All the files referred to in this article are
found in the folder containing the Dacris Benchmarks executable. Tests are
listed in this file under headings such as [0], [1], [2]. The master heading
[Tests] defines how many plug-in headings there are. Here is a sample "Tests.ini"
file:
[Tests]
Number=2
[0]
FileName=CPUTest.dll
[1]
FileName=Memtest.dll
The tests are loaded in ascending order, so the CPUTest.dll would be the
first test on the toolbar and in the main menu. If a DLL doesn't exist or is the
wrong version, Dacris Benchmarks warns the user at start-up.
Below is the basic structure for a plug-in DLL file.
Exports:
Note: BMARK_API = WINAPI
UINT BMARK_API FAR PASCAL DllSetLanguage(BMARKLANG *lang)
UINT BMARK_API FAR PASCAL DllGetBmarkVer(BMARKVER* version)
UINT BMARK_API FAR PASCAL DllTestGetData(BMARKTEST* data)
UINT BMARK_API FAR PASCAL DllTestGetSystemInfo(BMARKSYSINFO* sysinfo)
UINT BMARK_API FAR PASCAL DllTestRun(HWND hwnd, BMARKGAUGE *dlg, HINSTANCE hinst,
int unattend, bool licensed, BMARKRESULT* results, BMARKSETTINGS* settings, VOID
*pAgent)
There are also a few structures to store
information.
More details are found in the
Dacris Benchmarks 4.9 SDK (217
KB).
Tune-Up Wizard
The structure of tune-up wizard DLLs is the same as the test plug-ins, but
with different exported functions, and a new BMARKOPTIMIZATION structure which contains
data about the tune-up page. Each tune-up wizard DLL represents a page in the tune-up wizard. The plug-in file names are
stored in a file called "Optimizations.ini" which has essentially the same
structure as the "Tests.ini" file.
More details are found in the
Dacris Benchmarks 4.9 SDK (217
KB).
FAQ
Q: Where can I find more information
about this SDK?
A: You can get more information by downloading the
Dacris Benchmarks 4.9 SDK (217
KB).
Q:
What can I do with this new architecture? What are the
limitations?
A: You can program custom benchmark tests and optimizations of all
sorts. You can also expand certain features of Dacris Benchmarks, and even add
new wizards. These DLLs are limited to Dacris Benchmarks and have a limited
number of predefined exportable functions. Also, these DLLs are unable to find
and interact with other DLLs loaded by Dacris Benchmarks, so if a DLL requires
another DLL in use by Dacris Benchmarks, it must provide its own algorithm for loading it.
Q:
What compilers does this SDK support?
A: All C++ compilers that are compatible with the Win32 API (1996 or
later) will support this SDK. The SDK does not involve any LIB files, but only
one header file and a lot of documentation. However, you do need to declare your
functions as WINAPI in order to be able to export them from all compilers. The
preferred compiler is Microsoft Visual C++ 5 or later. MFC, OWL, or other class
libraries are not officially supported, but can be used. Languages derived from
C++ such as C# are not officially supported.
Q:
Can external applications be executed for custom tests?
A: Absolutely! However, you still need to implement the DLL first. You
may call an external application from the DLL, but not directly from Dacris
Benchmarks.
Copyright © 2002 Dacris Software. Last Updated February 2,
2002.
|