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" |