Compiling the IDL Files Supplied with the SDK

The Windows Media Device Manager SDK includes both header files and the source IDL files for most of these header files. The header files are located in the \inc\ folder in the SDK installation path. The IDL files are located in the \idl\ folder.

The precompiled headers are much simpler to use, and several of the IDL files are combined into a single provided header. However, if you decide to process your own header files from the provided IDL files, this topic describes which IDL files create which header files, and also describes the dependencies of each IDL file.

Equivalent IDL and Provided Header Files

IDL Equivalent supplied header Description
WMDM.idl
WMSP.idl
WMSCP.idl
icomponentauthenticate.idl
Mswmdm.h All four IDL files are included in this single provided header.
WMDM.idl Defines all the application interfaces and required structures, constants, and error codes.
WMSP.idl Defines all the service provider interfaces.
WMSCP.idl Defines all the interfaces, GUID values, and constants required by secure content providers.
icomponentauthenticate.idl Defines the IComponentAuthenticate interface.
Wmdmlog.idl Wmdmlog.h
wmdmlog_i.c
Defines the logging interfaces.
Both supplied header files must be used, rather than just the .h file, because of a problem with the IDL file.
WMDRMDeviceApp.idl Wmdrmdeviceapp.h Defines the IWMDRMDeviceApp and IWMDRMDeviceApp2 interfaces used by applications that update DRM on devices or meter play counts on devices.

IDL Dependencies

Several of the provided IDL files have build dependencies. If you plan to compile the IDL files yourself, you must process these external dependencies in the order shown in the following table.

IDL Dependencies
icomponentauthenticate.idl import "oaidl.idl";
#include "icomponentauthenticate.idl"
WMDM.idl No external dependencies
WmdmLog.idl No external dependencies
WMDRMDeviceApp.idl No external dependencies
WMSCP.idl #include "WMDRMDeviceApp.idl"
#include "WMSP.idl"
WMSP.idl #include "WMDM.idl"

Tasks Common to Applications and Service Providers