[不指定 2006/01/10 04:58 | by turbozv ]
     FDRM(File-Based Digital Rights Management)是微软指定的一套DRM接口规范,包含13个API接口。



1、FileDrmIsDRM 判断一个文件是否是是DRM对象
HRESULT FileDrmIsDRM (LPCTSTR pszFile,
                     PBOOL pfDRM);


2、FileDrmCreateFile 创建一个FDRM的内容文件
HRESULT FileDrmCreateFile (LPCTSTR pszFileName,
                          DWORD dwDesiredAccess,
                          DWORD dwShareMode,
                          LPSECURITY_ATTRIBUTES lpSecurityAttributes,
                          DWORD dwCreationDisposition,
                          DWORD dwFlagsAndAttributes,
                          HANDLE hTemplateFile,
                          PHANDLE phFile);
调用方式同CreateFile一样,不过需要注意的是参数里的dwDesiredAccess只能为GENERIC_READ,因为DRM对象都是被保护对象,对应用程序只读。同样,dwCreationDisposition只能为OPEN_EXISTING。


3、FileDrmCreateForwardableContent 创建一个用于转发的DRM文件
HRESULT FileDrmCreateForwardableContent (LPCTSTR pszFileName,
                                        DWORD dwFlags,
                                        LPCTSTR pszOutputFile);


4、FileDrmNotifyEnable 打开FDRM提醒
HRESULT FileDrmNotifyEnable (LPCTSTR pszFileName,
                            LPTSTR pszValueName,
                            DWORD cchValueNameLen);


5、FileDrmNotifyDisable 关闭FDRM提醒
HRESULT FileDrmNotifyDisable (LPCTSTR pszFileName);


6、FileDrmShowLicenseInfo 显示DRM对象权限信息
HRESULT FileDrmShowLicenseInfo (HWND hwndParent,
                               LPCTSTR pszFileName);


7、FileDrmHandleError 显示错误信息
HRESULT FileDrmHandleError (HWND            hwndParent,
                           HRESULT         hrError,  
                           LPCTSTR         pszFileName,
                           DWORD           dwFlags,
                           PDWORD          pdwStatus);


8、FileDrmRenewRights 获取新的DRM对象权限
HRESULT FileDrmRenewRights (HWND hwndParent,
                           LPCTSTR pszFileName);
一般情况下会通过网络获取新权限。


9、FileDrmGetMetric 获取度量值
HRESULT FileDrmGetMetric (FDRMMETRIC drmID,
                         DWORD *pdwMetric);


10、FileDrmVerifyRights 校验DRM对象的权限是否可用
HRESULT FileDrmVerifyRights (HWND           hwndParent,
                            LPCTSTR        pszFileName,
                            DWORD          dwRight,
                            DWORD          dwFlags,
                            PDWORD         pdwRightsStatus);
注意,不管是不是已经做了FileDrmGetRights判断,这个函数在使用DRM对象时必须被调用的。


11、FileDrmCommitRights 提交对一个DRM对象进行使用
HRESULT FileDrmCommitRights (HANDLE hFile,
                            DWORD dwRight,
                            DWORD dwFlags);


12、FileDrmDelete 删除一个DRM对象及其权限
HRESULT FileDrmDeleteFile (LPCTSTR pszFileName);


13、FileDrmStoreContent 将原始的MIME编码的DRM内容保存到本地文件
HRESULT FileDrmStoreContent (LPCTSTR pszInputFileName,
                            LPCTSTR pszOutputFileName,
                            LPVOID  pvReserved,
                            LPTSTR  pszMimeType,
                            DWORD  *pcchMimeTypeLen);


14、FileDrmVerifyRightsEx 校验DRM对象的权限是否可用(多用于文件浏览时)
HRESULT FileDrmVerifyRightsEx (HWND     hwndParent,
                              LPCTSTR  pszFileName,
                              DWORD    dwRight,
                              DWORD    dwFlags,
                              PDWORD   pdwRightsStatus,
                              LPGUID   pguidFilter);



Reference:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/mobilesdk5/html/mob5oriFile-BasedDigitalRightsManagement.asp
学习 | 评论(1) | 引用(0) | 阅读(10195)
Jinn Email
2006/06/14 01:50
请问一下,FDRM有没有比较多的参考文件呢?还是只有MSDN上,我想了解一下要实作FDRM,底层应该如何处理...有一定的标准吗,若你知道的话,麻烦给一点参考资料,谢谢喔
分页: 1/1 第一页 1 最后页