The Intel® Active Management Technology (Intel® AMT) Software Development Kit (SDK) provides the necessary documentation; APIs and libraries to utilize Intel AMT features; and an emulator that simulates Intel AMT enabled hardware (Refer to the Intel AMT Emulator Guide for additional information). This SDK is distributed as a part of the Intel® Software Partner Program (SPP) and is not publicly available. The Intel AMT SDK is part of a targeted manageability program from Intel and is provided for use only under a Non-Disclosure Agreement (NDA) with Intel Corporation. The participants must be a part of Intel SPP to receive support during their development cycle. Intel expects effective and collaborative participation from Independent Software Vendors (ISVs). The contents of this SDK are subject to change. Review the End User License Agreement for details about the terms of use.
Besides APIs, the Intel Active Management Technology SDK provides auxiliary tools that support ISVs implementing Intel AMT enhanced software solutions even before the necessary silicon and platform infrastructure are available. The SDK allows developers to incorporate the following features into their applications:
Intel AMT supports remote applications running over Windows* or Linux*. Intel AMT release 1.0 supports both Linux and Windows local applications. Intel AMT Release 2.0 supports only Windows-based local applications.
An overview of all the components included in the Intel AMT SDK is provided in the table below.
| Component | Category | Description | Features/Benefits |
| Intel AMT Host Emulator* | Hardware Emulation | Simulates the hardware features of Intel AMT enabled hardware | Enables testing of out of band management capabilities, including:
|
| Intel AMT Storage Library | Static Library Header Files Sample Code |
Provides a storage-level abstraction layer for Storage commands; the library supports local and remote applications. | Enables local and remote access to Non-Volatile Memory (NVM) on Intel AMT machines in all power states. |
| Intel AMT Redirection Library | Dynamic Library (Windows*) Static Library (Linux*) Header Files Sample Code |
Provides an abstraction layer that implements “Serial over LAN” (SOL) and “IDE Redirection” (IDER), via a C language API. | Allows managing remote Intel AMT machines through SOL/IDER sessions. |
| Error ID Conversion Library | Dynamic Library (Windows) | Provides a utility to convert Intel AMT error IDs to strings. | Assists developer in providing clearer and consistent error handling and debugging capabilities. |
| Intel AMT Sample Configuration Application | Sample Code | Provides an example setup and configuration application. | Assists developer to understand configuration concepts. |
| Intel AMT WSDL | Definitions | Documentation of the web service interfaces. | Allow consistent use of the web services available through Intel AMT. |
| Intel AMT WSDL Sample Applications | Sample Code | Provides an example of how to use the WSDL files. | Assist development in understanding WSDL/SOAP concepts covering Intel AMT specific usage. |
| Intel AMT System Defense Feature | Sample Code | Provides examples of System Defense Feature and Agent Presence | Assist development in using System Defense Feature and Agent Presence feature. |
| Intel AMT Host Information | Sample Code | Provides an example of how to use the host information API | Assists developer in understanding how to use the Host Information API. (Intel AMT Release 1.0 only) |
| Intel AMT SDK Developer’s Guide | Documentation | Documentation of the Intel AMT software features, use cases, architecture, and design guides for both agent and management console. | Comprehensive documentation of the Intel AMT SDK includes:
|
| * Not available on Linux | |||
Following are the minimum system configurations required to use the Intel Active Management Technology SDK including the Intel AMT Host Emulator and the supported APIs.
ISV Storage SDK (Linux)
ISV Storage SDK (Windows)
Redirection Library (Linux)
Redirection Library (Windows*)
WSDL sample applications
The following items require a Windows-based platform:
Intel AMT Emulator
Intel AMT Sample Configuration Application
Name Resolve Sample
Intel Active Management Technology SDK Installation Layout
The Intel Active Management Technology SDK is delivered as a set of directories that you can copy to a location of choice on your system. The directory structure should be copied in its entirety as there are interdependencies between components.
The SDK is organized into the following directory structure:
| AgentPresence | [Agent Presence Sample and Sample Agent (control a Windows-based sample local agent from a Linux-based management console) |
| AgentPresenceAPI | [Agent Presence API Sample] |
| ApiTest | [API Test Program] |
| AssetDisplay | [Asset Display Sample] |
| CircuitBreaker | [System Defense Feature Sample] |
| EventSimulation | [Simulates events using the Emulator] |
| General Info | [General Information Sample (only supported remotely)] |
| HostInfoSample | [Host Information Sample] |
| NetworkAdministration | [Network Administration Sample] |
| RedirectionConfig | [Enables the Redirection Service] |
| RedirectionSample | [Redirection Sample] |
| RemoteControl | [Remote Control Sample] Includes x64 support |
| SecurityAdministration | [Security Administration Sample] |
| StorageAdmin | [Storage Administration Sample] |
| StorageSamples | [Sample Use of the ISV Storage API (remote use only)] |
| AgentPresence | [Agent Presence Sample and Sample Agent] |
| AgentPresenceAPI | [Agent Presence API Sample] |
| AssetDisplay | [Asset Display Sample] |
| CircuitBreaker | [System Defense Feature Sample] |
| Configuration | [Sample Configuration Server] |
| EventSimulation | [Simulates events using the Emulator] |
| GeneralInfo | [General Information Sample] |
| HostInfoSample | [Sample use of the host information interface] |
| Java_RemoteControl | [example of remote control using Java] |
| NameResolveSample | [Name Resolve Sample] |
| NetworkAdministration | [Network Administration Sample] |
| Redirection | [Redirection Sample] |
| RedirectionConfig | [Enables the Redirection Service] |
| RemoteControl | [Remote Control Sample] Includes x64 support |
| SecurityAdministration | [Security Administration sample] |
| StorageAdmin | [Storage Administration Sample] |
| StorageSamples | [Sample use of the ISV Storage API] |
The Include directory contains common SDK definitions. The WSDL files for all of the Intel AMT services are located here.
The ThirdParty directory contains source and library files needed for creating the Java sample and the gSOAP toolset used by many of the C++ sample programs to demonstrate SOAP capabilities.
Where appropriate, Readme files are included that have the latest product information and instructions for product use. Review the readme files carefully so that you can use the Intel Active Management Technology SDK effectively.
The Microsoft Platform SDK includes the WinHTTP library, which is required for the proper compilation of the Intel AMT SDK samples for Microsoft Windows*. You will have to install the Microsoft Platform SDK to effectively use the Intel AMT SDK.
Storage Library limitation: Local ISV storage applications access the Intel AMT device using Windows Management Instrumentation (WMI). The WMI default permissions in Windows Vista (both regular and x64 Edition) and Windows XP x64 Edition do not allow user accounts to perform the operations required by the storage library. If the user executing a local storage application does not have Administrator permissions on the platform, the operation will fail.
Before any of the ISV Storage Samples can be compiled, the paths to the Microsoft Platform SDK lib and include directories need to be referenced by the development environment. There are a number of methods to accomplish this. The following method adds the two directories globally so they are available to any project. In the following example, the default root directory to the platform SDK is referenced:
C:\Program Files\Microsoft Platform SDK

Figure 1: Visual Studio Include Files

Figure 2: Visual Studio Libraries
Building projects after this setup may result in receipt of a warning message that the environment variable $MSSDK was undefined. To eliminate this warning, define
MSSDK = C:\Program Files\Microsoft Platform SDK.
The Intel-supplied static library provides all of the logic to communicate with Intel AMT enabled hardware and firmware and must be compiled into the ISV application. Two different types of libraries are supplied depending upon the implementation method preferred by the ISV. To link with the Intel-supplied library, put the library file name in the “Additional Dependencies” field of the “Linker/Input” dialog of Visual Studio, as shown in Figure 3.

Figure 3: Microsoft Visual Studio* Library Dependency Settings
The SDK includes four different versions of the Intel AMT ISV Storage Library. Select the library that matches the environment that you use for compiling your application. All four libraries assume a multi-threaded environment. If you compiled using a single-threaded (/ML) flag, you will need to recompile with a multi-threaded option.

Figure 4: Microsoft Visual Studio threading switches
The Intel AMT SDK contains the debug version of the ISV Storage Library modules to allow building ISV applications in the debug environment. These modules come with minimal testing and support and are to be used in debug environments only. The debug versions reside in the same directory of the release versions (\lib). The table below lists the ISV Storage Library modules which are part of the Intel AMT SDK.
| Module Name | Environment | Debug / Release | Notes |
| iamt.lib | Windows 32 | Release | |
| iamtdyn.lib | Windows 32 | Release | For Multi Threaded DLLs |
| iamt_X64.lib | Windows 64 | Release | |
| Iamtdyn_X64.lib | Windows 64 | Release | For Multi Threaded DLLs |
| iamtD.lib | Windows 32 | Debug | |
| iamtdynD.lib | Windows 32 | Debug | For Multi Threaded DLLs |
| iamtD_X64.lib | Windows 64 | Debug | |
| IamtdynD_X64.lib | Windows 64 | Debug | For Multi Threaded DLLs |
When developing an application that uses the ISV Storage Library choose the appropriate module from the table above and supply it in the Linker > Input > Additional Dependencies of the Project Properties (as seen in the screen captures above).
The x64 version of the ISV storage library supports access to the Intel AMT nonvolatile memory only from the local platform. The library does not support remote access to an Intel AMT device from an x64 system.
The ISV Storage Library supplied for x64 support has been linked with the Microsoft Platform SDK. The ISV Storage Samples also require the Microsoft Platform SDK to successfully link with the x64 modules of the ISV Storage Library. To build an x64 application, invoke the SetEnv batch file supplied in the Microsoft Platform SDK before opening the Visual Studio .Net. Calling SetEnv allows starting Visual Studio in cross-compilation mode, which then allows linking for x64 platforms.
In addition to invoking Visual Studio .Net for cross-compilation (see the example command sequence below), porting applications to x64 platforms requires different parameters in the x64 project properties. The _X64 projects supplied in the Intel AMT SDK Storage Samples are configured with the parameters needed for the sample application to be compatible with Windows x64 platforms.
The following script invokes Visual Studio .Net for cross compilation:
setlocal REM Configure basic parameters for Visual Studio .Net call "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat" REM Configure parameters for x64 cross compilation call "C:\Program Files\Microsoft Platform SDK\SetEnv.cmd" /XP64 REM Launch Visual Studio .NET using environmental variables set REM by the previous scripts. devenv /useenv endlocal
The Intel-provided dynamic Redirection Library provides all of the logic to redirect serial and IDE data to or from Intel AMT enabled hardware and firmware. If you want to link with the Redirection Library, you must:
To compile an application with the import library, put the library file name in the “Object/library modules” field of the “Link/Input” page of the project setting dialog in Visual Studio (see Figure 5).

Figure 5: Microsoft Visual Studio* Project Settings
The Intel-provided static library provides all of the logic necessary to communicate with Intel AMT-enabled hardware and firmware and must be compiled into the ISV application. If you want to link with the Intel supplied library, put the library file name in the Makefile in the linkage command. The following options should be used if you use the gnu C compiler:
-liamt –L<dir>
Where <dir> is the directory in which libiamt.a is located.
Other additional libraries are also required: crypto, pthread and ssl. Use the following additional arguments when you link with the gnu compiler:
-lcrypto -lpthread –lssl
You will need an installation script that runs under root permissions if you want to use the Linux library on remote machines. This script must be run on all systems where applications linked with the library will be run. For more information see the Linux storage library Readme.
Intel AMT SDK contains several versions of the storage library for the different supported Linux flavors.
| Module name | Operating System | Notes |
| libiamt.a | Red Hat 3 i386 version | Local and remote access |
| libiamtRH3.a | Red Hat 3 i386 version | An exact copy of libiamt.a (for backward compatibility) |
| libiamtRH4.a | Red Hat 4 i386 version | Local access only |
| libiamtRH3_X64.a | Red Hat 3 X64 version | Local access only |
| libiamtRH4_X64.a | Red Hat 4 X64 version | Local access only |
| libiamtSuSE93.a | SUSE 9.3 i386 version | Local access only |
The Makefiles provided in the storage samples detect the operating system on which they running, and are thus able to determine which of the library modules to link with.
The Intel-provided static Redirection library provides all of the logic required to redirect serial and IDE data to and from Intel AMT enabled hardware and firmware. If you want to link with the Intel supplied library, put the library file name in the Makefile in the linkage command. The following options should be used if you use the gnu C compiler:
-limrsdk –L<dir>
Where <dir> is the directory in which libimrsdk.a is located.
Other additional libraries are also required: crypto, pthread and ssl. The following additional arguments must be used when linking with the gnu compiler:
-lcrypto -lpthread –lssl
The following table lists the major SDK features. It notes which features are supported by the Intel AMT Emulator and which interface method is used – the Intel AMT Static Library, or the SOAP Network Interface. Each feature comes with sample code and a sample application.
| Feature | Emulator Support |
|
||||||||||
| ISV Storage | Yes | Yes | Yes | |||||||||
| Storage Administration | Yes | Yes | Yes | |||||||||
| Asset Management | Yes | Yes | Yes | |||||||||
| Remote Control | Yes (messages only) | Yes | Yes | |||||||||
| Security Administration | Yes (Partial) | Yes | Yes | |||||||||
| Network Administration | Yes | Yes | ||||||||||
| System Defense Feature / Agent Presence | Yes | Yes | Yes | |||||||||
| General information | Yes | Yes | ||||||||||
| SOL / IDER | Yes | Yes | ||||||||||
| Configuration Sample | Yes | Yes | ||||||||||
RESOURCES: