编译 SDK 提供的 IDL 文件

Windows媒体设备管理器 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”

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