Как определить права использования (DRM) файла - PullRequest
3 голосов
/ 09 января 2010

Предположим, у вас есть файл .wma / .wmv, и вы хотите обнаружить:

  1. защищен ли DRM?
  2. (тогда, мы надеемся) подробности защиты DRM (например, когда истекает срок действия лицензии и т. Д.)?

Есть ли для него C # / C ++ API? Кажется, что Windows Media Player может это сделать - если вы щелкнете свойства в этом файле ... но Explorer не показывает эту информацию.

Примечание: я не верю, что это тривиальный вопрос, я попробовал taglib и искал решение в сети около 2 часов.

Ответы [ 2 ]

7 голосов
/ 19 июня 2010

Один из способов обнаружения файлов DRM в папке с помощью Powershell: -

$wmplayer = New-Object -ComObject "WMPlayer.OCX"
ls -recurse | ? { $_.Name -like "*.wma" -and [bool]::Parse($wmplayer.newMedia($_.FullName).getItemInfo("Is_Protected")) }
3 голосов
/ 09 января 2010

С Здесь . Подробнее о формате SDK здесь

В c # с использованием Format SDK:

[DllImport("WMVCore.dll", CharSet=CharSet.Unicode)]

private static extern int WMIsContentProtected(string pwszFileName, out bool 
pfIsProtected);
...