编译随 SDK 一起提供的 IDL 文件

Windows Media 设备管理器 SDK 包括头文件和大多数头文件的源 IDL 文件。 头文件位于 SDK 安装路径的 \inc\ 文件夹中。 IDL 文件位于 \idl\ 文件夹中。

预编译标头的使用要简单得多,多个 IDL 文件合并为单个提供的标头。 但是,如果决定从提供的 IDL 文件处理自己的头文件,本主题将介绍哪些 IDL 文件创建哪些头文件,并介绍每个 IDL 文件的依赖项。

等效 IDL 和提供的头文件

IDL 等效提供的标头 说明
WMDM.idl
WMSP.idl
WMSCP.idl
icomponentauthenticate.idl
Mswmdm.h 所有四个 IDL 文件都包含在此单个提供的标头中。
WMDM.idl 定义所有应用程序接口以及所需的结构、常量和错误代码。
WMSP.idl 定义所有服务提供程序接口。
WMSCP.idl 定义安全内容提供程序所需的所有接口、GUID 值和常量。
icomponentauthenticate.idl 定义 IComponentAuthenticate 接口。
Wmdmlog.idl Wmdmlog.h
wmdmlog_i.c
定义日志记录接口。
由于 IDL 文件出现问题,必须使用这两个提供的头文件,而不仅仅是 .h 文件。
WMDRMDeviceApp.idl Wmdrmdeviceapp.h 定义应用程序使用的 IWMDRMDeviceAppIWMDRMDeviceApp2 接口,这些接口用于更新设备上的 DRM 或设备上的计量播放计数。

IDL 依赖项

提供的多个 IDL 文件具有生成依赖项。 如果计划自行编译 IDL 文件,则必须按下表所示的顺序处理这些外部依赖项。

IDL 依赖项
icomponentauthenticate.idl 导入“oaidl.idl”;
#include“icomponentauthenticate.idl”
WMDM.idl 无外部依赖项
WmdmLog.idl 无外部依赖项
WMDRMDeviceApp.idl 无外部依赖项
WMSCP.idl #include“WMDRMDeviceApp.idl”
#include“WMSP.idl”
WMSP.idl #include“WMDM.idl”

应用程序和服务提供商通用的任务