Upload
marina-fella
View
225
Download
0
Tags:
Embed Size (px)
Citation preview
EMB311EMB311
Enabling Media Playback Enabling Media Playback On Windows CEOn Windows CE
Aaron ChengAaron ChengProgram ManagerProgram ManagerWindows CEWindows CEMicrosoft CorporationMicrosoft Corporation
MManagementanagementTToolsools
CCommunicationsommunications& & MMessagingessaging
Device Update Agent
Software Update Services
Live Communications Server
Exchange Server
Internet Security and Acceleration Server
Speech Server
Image Update
LLocation ocation SServiceservices
MMultimediaultimedia
MapPoint
DirectX
Windows Media
Visual Studio 2005DDevelopment evelopment TToolsools
MFC 8.0, ATL 8.0
Win32NNativeative
MManagedanaged
SServer erver SSideide
LLightweightightweight
RRelationalelationalSQL Server 2005 Express EditionEDB
DDa
taata
PPro
gra
mm
ing
ro
gra
mm
ing
MM
od
el
od
el
DDevice evice BBuilding uilding TToolsools
HHardware/ardware/DDriversrivers
Windows XP DDK
Windows Embedded Studio
Platform Builder
OEM/IHV SuppliedBSP
(ARM, SH4, MIPS)OEM Hardware and Standard Drivers
Standard PC Hardware and Drivers
SQL Server 2005SQL Server 2005 Mobile Edition
ASP.NET Mobile Controls ASP.NET
.NET Compact Framework .NET Framework
Microsoft Operations Manager
Systems Management Server
AgendaAgenda
Multimedia Overview and ArchitectureMultimedia Overview and ArchitectureWindows Media Playback PipelineWindows Media Playback Pipeline
Streaming features on CE 5.0Streaming features on CE 5.0
Dealing with Window Media Digital Rights Dealing with Window Media Digital Rights Management Protected ContentManagement Protected Content
Window Media Digital Rights Management 10 for Window Media Digital Rights Management 10 for Portable Devices OverviewPortable Devices OverviewFeatures and limitations of Digital Rights Features and limitations of Digital Rights Management 10 PD on CEManagement 10 PD on CESetup and configuration Digital Rights Setup and configuration Digital Rights Management 10 PD on CEManagement 10 PD on CEDeveloping custom DRM-enabled applicationsDeveloping custom DRM-enabled applications
CE Multimedia GoalsCE Multimedia Goals
Provide a rich set of multimedia Provide a rich set of multimedia technologies that enable customers to technologies that enable customers to rapidly build a variety of consumer rapidly build a variety of consumer devicesdevices
Small, Fast, Hardware AssistedSmall, Fast, Hardware Assisted
Compatibility with desktop WindowsCompatibility with desktop Windowswhen possiblewhen possible
Optimized support for multiple CPUs and Optimized support for multiple CPUs and Systems on Chip Systems on Chip
Current MM TechnologiesCurrent MM Technologies
CE v5.0 CE v5.0 Windows Media v9 improvements/new codecsWindows Media v9 improvements/new codecsDirect3D MobileDirect3D Mobile
CE v4.2CE v4.2Windows Media v9Windows Media v9
CE v 4.0 CE v 4.0 Windows Media Player ApplicationWindows Media Player ApplicationWindows Media v8Windows Media v8DVDDVD
CE v 3.0CE v 3.0DirectShow, DirectDrawDirectShow, DirectDrawWindows Media Player OCX v6.4Windows Media Player OCX v6.4 In
cre
as
ing
Sta
bili
ty a
nd
Per
form
an
ceIn
cre
as
ing
Sta
bili
ty a
nd
Per
form
an
ce
Windows CE MultimediaWindows CE Multimedia
TechnologiesTechnologiesAudioAudio
VideoVideo
2D and 3D Graphics2D and 3D Graphics
Codecs Codecs
StreamingStreaming
DVD-VideoDVD-Video
Digital Rights Digital Rights ManagementManagement
ProductsProductsMSTVMSTVMSNTVMSNTVWindows for Windows for AutomotiveAutomotivePortable Media Portable Media CenterCenterSmartPhoneSmartPhonePocketPCPocketPCVOIP PhoneVOIP PhoneIP Set-Top-BoxIP Set-Top-BoxPVRPVRDMRDMR
Technology BreakdownTechnology Breakdown
DirectDrawDirectDrawDrawing surfaces, blting, Drawing surfaces, blting, flipping, overlays, alpha flipping, overlays, alpha blend, video portsblend, video ports
Direct3D MobileDirect3D Mobile3D polygon rendering3D polygon renderingDirect3D Mobile usesDirect3D Mobile usesthe same API signaturesthe same API signaturesas Direct3Das Direct3DLightweight, integer Lightweight, integer basedbased
Waveform AudioWaveform AudioPlayback, capture, Playback, capture, mixing, sample rate mixing, sample rate conversion, gain classesconversion, gain classes
DirectShowDirectShowMedia playbackMedia playback
DVD-VideoDVD-VideoDVD navigationDVD navigationand playbackand playback
DVD Player appDVD Player app
Windows Media Windows Media Audio/video codecsAudio/video codecs
Streaming/Local FileStreaming/Local File
WM Player OCXWM Player OCX
WM Player appWM Player app
Windows Media Windows Media ComponentsComponents
StreamingStreamingHTTP, MMS, local fileHTTP, MMS, local file
ASX play list parser ASX play list parser and handlerand handlerASF parser and ASF parser and splittersplitterDRM/decryptionDRM/decryption
Software CodecsSoftware CodecsWMV 9 Advanced WMV 9 Advanced Profile (new in 5.0)Profile (new in 5.0)WMV WMV WMAWMAWMA losslessWMA lossless(new in 5.0)(new in 5.0)WMA ProWMA Pro(new in 5.0)(new in 5.0)
DirectShow DirectShow standard renderer standard renderer filtersfilters
CE Multimedia ArchitectureCE Multimedia Architecture
Network, File system, Graphics, Audio, DVD DriversNetwork, File system, Graphics, Audio, DVD Drivers
Filter GraphFilter Graph
WM Player ActiveX WM Player ActiveX ControlControl
WMP Sample App,WMP Sample App,IE 6IE 6
DirectDraw/GDIDirectDraw/GDI WaveDevWaveDev
Hardware
Network/Network/File SystemFile System
SourceSource CodecsCodecs
DirectShow Filter Graph ManagerDirectShow Filter Graph Manager
DVD-DVD-VideoVideo
D3DMD3DM
RenderersRenderers
DirectShow DirectShow AppApp
D3D Mobile, DVD,D3D Mobile, DVD, DDraw AppsDDraw Apps
WMVWMV
WMAWMA
MPEMPEGG
Encoding For Local Encoding For Local PlaybackPlayback
Variable bit rate is good for conserving Variable bit rate is good for conserving disk spacedisk space
CE 5.0 supports high content bit ratesCE 5.0 supports high content bit rates
Make sure indexing is turned onMake sure indexing is turned onThe playback pipeline uses the index to The playback pipeline uses the index to rapidly seek for trick modesrapidly seek for trick modes
Trick mode performance is degraded Trick mode performance is degraded without an indexwithout an index
New Streaming FeaturesNew Streaming Features
FastStartFastStartEnables stream to buffer at speeds higher than the Enables stream to buffer at speeds higher than the bit rate of the requested contentbit rate of the requested content
Buffer fill rate governed by bandwidth of the pipe Buffer fill rate governed by bandwidth of the pipe and limits set on the Windows Media serverand limits set on the Windows Media server
Supported for live broadcast and on demandSupported for live broadcast and on demand
Only supported on unicast streamsOnly supported on unicast streams
Startup profileStartup profileImproves stream start time over FastStartImproves stream start time over FastStart
Important for IPTV channel change latencyImportant for IPTV channel change latency
Only for the HTTP unicast protocolOnly for the HTTP unicast protocol
How Startup Profile WorksHow Startup Profile Works
Windows CE will look at the content and Windows CE will look at the content and calculates an acceleration duration based on calculates an acceleration duration based on the content preroll, bit rate, and the the content preroll, bit rate, and the FSAccBandwitdthFSAccBandwitdth
The Windows Media Server (WMS) uses this The Windows Media Server (WMS) uses this acceleration duration value as the length of acceleration duration value as the length of time to scan the content for the startup time to scan the content for the startup buffering requirementsbuffering requirements
WMS then determines a minimal buffer WMS then determines a minimal buffer (essentially a preroll) that the client decoder (essentially a preroll) that the client decoder requires to play the acceleration duration requires to play the acceleration duration without starving the decoderwithout starving the decoder
Streaming ProtocolsStreaming Protocols
MulticastMulticastEach packet is broadcast to multiple clientsEach packet is broadcast to multiple clients
Microsoft Media Stream (MMS)Microsoft Media Stream (MMS)TCP connection for commands between client and serverTCP connection for commands between client and server
UDP connection for commands between client and serverUDP connection for commands between client and server
Automatic protocol roll-over (UDP, TCP)Automatic protocol roll-over (UDP, TCP)
HTTPHTTPWill automatically come through corporate firewallsWill automatically come through corporate firewalls
Will use Internet Explorer’s proxy-settings, or configure its Will use Internet Explorer’s proxy-settings, or configure its own settingsown settings
RTSPRTSPNot supported on Windows CENot supported on Windows CE
File-based (local or network redirector)File-based (local or network redirector)
Protocol Comparison On CEProtocol Comparison On CE
MMS is good for up to 2Mb/sMMS is good for up to 2Mb/sNo fast start and startup profileNo fast start and startup profileLighter network load (no ack’s)Lighter network load (no ack’s)Requires more reliable hardware and well Requires more reliable hardware and well dimensioned networksdimensioned networksMMS is getting deprecated in servers in MMS is getting deprecated in servers in favor of RTSP and HTTPfavor of RTSP and HTTP
HTTP is better at high bit rates – HTTP is better at high bit rates – internally tested up to 10Mb/s on internally tested up to 10Mb/s on CE 5.0CE 5.0
Fast start and startup profileFast start and startup profile
Encoding For StreamingEncoding For Streaming
Preroll Preroll We use 5 seconds for HTTP unicastWe use 5 seconds for HTTP unicast
MMS as low as 1 second for a quiet networkMMS as low as 1 second for a quiet networkNo startup profileNo startup profile
Multicast as low as 1 second for a quiet networkMulticast as low as 1 second for a quiet networkNo fast start and startup profileNo fast start and startup profile
Bit rate Bit rate Highest for your pipeHighest for your pipe
Key frame distanceKey frame distance5 seconds for HTTP/MMS unicast5 seconds for HTTP/MMS unicast
1 second for Multicast (faster startup)1 second for Multicast (faster startup)
Current DRM Status On CECurrent DRM Status On CE
Windows Media DRM v10 for Portable Windows Media DRM v10 for Portable Devices ‘Janus’ available on 5.0 for x86 Devices ‘Janus’ available on 5.0 for x86 and ARM platformsand ARM platforms
Support for all other platforms Support for all other platforms available by summeravailable by summer
Backward compatible with all previous Backward compatible with all previous versions of Windows Media DRMversions of Windows Media DRM
PD DRM and DRM v7.1 only available PD DRM and DRM v7.1 only available on CE 4.2 on CE 4.2
Digital Rights Management Digital Rights Management EcosystemEcosystem
Distribution
Distribution
Authorization
Authorization
Pro
tect
ed C
on
ten
t
Window Media Rights ManagerWindow Media Rights Manager
Content ServerContent Server
Windows Media Digital Rights Windows Media Digital Rights Management 10 PD Overview Management 10 PD Overview
A flexible platform to protect audio/video A flexible platform to protect audio/video content for playback on devices connected to content for playback on devices connected to IP networks or portable devices connect to IP networks or portable devices connect to another deviceanother device
Store and playback audio/video contentStore and playback audio/video content
Support playback of VOD contentSupport playback of VOD content
Separate license for each piece of contentSeparate license for each piece of content
Each license specify rights for content usageEach license specify rights for content usage
Windows Media Digital Rights Windows Media Digital Rights Management 10 PD Overview Management 10 PD Overview
Acquire and store licenses/contentAcquire and store licenses/contentAllow offline accessAllow offline access
No ‘server’ type capabilitiesNo ‘server’ type capabilities
Enable devices and PC to play back the Enable devices and PC to play back the same contentsame content
No change to content encryption formatNo change to content encryption format
SecureSecureUnique keys for every OEM/deviceUnique keys for every OEM/device
Compromised devices can be revokedCompromised devices can be revoked
How Are Digital Rights How Are Digital Rights Management Files DifferentManagement Files DifferentHH
PacketPacket
HeaderHeader
ASF / WMA / WMVASF / WMA / WMV
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PacketPacket
PayloadPayloadHeaderHeaderDRMDRMdatadata
DRM Header Obj.DRM Header Obj.
Header not encryptedHeader not encrypted
Packet-basedPacket-based
Fault-tolerantFault-tolerant
Efficient encryptionEfficient encryption
Digital Rights Management Digital Rights Management 10 License Rights10 License Rights
Playback on devicePlayback on devicePlay countPlay countOutput restrictionsOutput restrictionsTime-based rightsTime-based rightsDevice/application security levelDevice/application security level
Copy to deviceCopy to deviceCopy countCopy countDevice capability restrictions Device capability restrictions
CD burningCD burning
How To Acquire Digital Rights How To Acquire Digital Rights Management LicenseManagement License
Direct License Acquisition (DLA)Direct License Acquisition (DLA)Device directly talks to license serverDevice directly talks to license server
Licenses are tied to the deviceLicenses are tied to the device
Three different forms: silent, non-silent Three different forms: silent, non-silent and Pre-deliveryand Pre-delivery
Indirect License Acquisition (ILA)Indirect License Acquisition (ILA)Require PC to acquire license firstRequire PC to acquire license first
PC generates new license to transfer to a PC generates new license to transfer to a connected deviceconnected device
Windows Media Digital Rights Windows Media Digital Rights Management 10 PD AdvantagesManagement 10 PD Advantages
Enable new business model for Enable new business model for content owners and resellerscontent owners and resellers
Provides interoperable platform for Provides interoperable platform for protected content to flow to devicesprotected content to flow to devices
Enhanced security capabilities for Enhanced security capabilities for protecting content protecting content
Provides greater flexibility for ISV Provides greater flexibility for ISV interaction with DRM contentinteraction with DRM content
Improvement in overall performanceImprovement in overall performance
Digital Rights Management Digital Rights Management 10-Content Decrypt Perf10-Content Decrypt Perf
Data from internal Microsoft testingData from internal Microsoft testing
CPU Utilization during audio play back on x86 Platform
0
5
10
15
20
25
30
35
40
Clear Content
DRM Content
Windows Media Digital Rights Windows Media Digital Rights Management 10 PD On WinCEManagement 10 PD On WinCE
Provides E2E solution for play back of DRM Provides E2E solution for play back of DRM protected contentprotected content
Underlying DRM system exposed to other Underlying DRM system exposed to other apps through the CE DRM v10 APIapps through the CE DRM v10 API
Built-in DLA support for devices directly Built-in DLA support for devices directly connected to IP networksconnected to IP networks
Non-silent DLA and Pre-delivery supported Non-silent DLA and Pre-delivery supported through DRM OCXthrough DRM OCX
Need MTP and DRM extension Need MTP and DRM extension implementation for ILA supportimplementation for ILA support
Generic Playback ProcessGeneric Playback Process
All starts with selecting the content that you All starts with selecting the content that you want to playwant to play
Unencrypted ASF header contains the ID of Unencrypted ASF header contains the ID of the selected contentthe selected content
DRM system searches the local license store DRM system searches the local license store for a valid licensefor a valid license
Playback begins if a valid license is foundPlayback begins if a valid license is found
Otherwise, DRM system obtains a license Otherwise, DRM system obtains a license through the license server URL indicated in through the license server URL indicated in the ASF headerthe ASF header
Digital Rights Management Digital Rights Management System Interactions In CESystem Interactions In CE
WinCE Digital Rights WinCE Digital Rights Management 10 PD FeaturesManagement 10 PD Features
License ChainingLicense ChainingRequire root and leaf license to access contentRequire root and leaf license to access content
MeteringMeteringTrack usage for subscription servicesTrack usage for subscription services
Output Protection Levels (OPL)Output Protection Levels (OPL)Control content flow to unprotected outputsControl content flow to unprotected outputs
Device IndividualizationDevice IndividualizationAllow each device to be uniquely identifiedAllow each device to be uniquely identified
Data Store Garbage CollectionData Store Garbage CollectionPeriodically delete invalid licensesPeriodically delete invalid licenses
WinCE Digital Rights WinCE Digital Rights Management 10 PD LimitationsManagement 10 PD Limitations
What are not supported?What are not supported?CD burning rightsCD burning rights
Application exclusionApplication exclusion
Additional work required to support the Additional work required to support the following featuresfollowing features
ILAILA
MeteringMetering
Communication with audio/video drivers to Communication with audio/video drivers to enforce OPLenforce OPL
Secure ClockSecure Clock
How To Get The Digital Rights How To Get The Digital Rights Management 10 Bits?Management 10 Bits?
Out-of-Band process, must request Out-of-Band process, must request through CE distributor or Direct through CE distributor or Direct Account ManagerAccount Manager
Separate license agreement from WMLASeparate license agreement from WMLA
Receive two separate packagesReceive two separate packagesMSI installer – documentation, header MSI installer – documentation, header files, Lib file and samplesfiles, Lib file and samples
Zip file – actual DRM 10 DLL, two .dat filesZip file – actual DRM 10 DLL, two .dat files
Zip file unique for each OEM/device, Zip file unique for each OEM/device, individually tested before releaseindividually tested before release
How To Enable Digital Rights How To Enable Digital Rights Management 10 In BuildManagement 10 In Build
Catalog entriesCatalog entriesAdd ‘Windows Media DRM 10’ and ‘DRM License Add ‘Windows Media DRM 10’ and ‘DRM License Acquisition OCX’Acquisition OCX’
Remove ‘Digital Rights Management’ and ‘DRM for Remove ‘Digital Rights Management’ and ‘DRM for Portable Devices’Portable Devices’
Move Janus DLL and the two .dat files to the Move Janus DLL and the two .dat files to the release directoryrelease directory
Add entries to the project.bib fileAdd entries to the project.bib file
Add entries to the registry (optional)Add entries to the registry (optional)
Do a clean buildDo a clean build
Sample Project.bib FileSample Project.bib File
MODULESMODULES; Name Path Memory Type; Name Path Memory Type
; ----------------- ---------------------------------- -----------; ----------------- ---------------------------------- -----------Janus_WINCE.dll $(_FLATRELEASEDIR)\Janus_WINCE.dll NK SHDJanus_WINCE.dll $(_FLATRELEASEDIR)\Janus_WINCE.dll NK SHD
FILESFILES; Name Path Memory Type; Name Path Memory Type
; ----------------- ---------------------------------- -----------; ----------------- ---------------------------------- -----------devcerttemplate.dat $(_FLATRELEASEDIR)\devcerttemplate.dat NK SHdevcerttemplate.dat $(_FLATRELEASEDIR)\devcerttemplate.dat NK SH
wmdrmpd.dat $(_FLATRELEASEDIR)\wmdrmpd.dat NK SHwmdrmpd.dat $(_FLATRELEASEDIR)\wmdrmpd.dat NK SH
Digital Rights Management Digital Rights Management 10 DAT Files10 DAT Files
Included in DRM 10 packageIncluded in DRM 10 packageDevcerttemplate.dat – base template for a device Devcerttemplate.dat – base template for a device certificate, contain info such as device certificate, contain info such as device make/model & device security levelmake/model & device security level
Wmdrmpd.dat – Obfuscated DRM fileWmdrmpd.dat – Obfuscated DRM file
Generated on device after 1st attempt to play Generated on device after 1st attempt to play back DRM-protected content:back DRM-protected content:
Drmstore.dat – license store file to store the Drmstore.dat – license store file to store the acquired DRM licensesacquired DRM licenses
Devcert.dat – actual device certificate generated Devcert.dat – actual device certificate generated from the template, an unique instance is from the template, an unique instance is generated every timegenerated every time
Digital Rights Management Digital Rights Management 10 Registry Settings10 Registry Settings
HKLM\Software\Microsoft\WMDRMPD HKLM\Software\Microsoft\WMDRMPD CertTemplatePath – location of wmdrmpd.dat & CertTemplatePath – location of wmdrmpd.dat & devcerttemplate.dat, defaults to \Windowsdevcerttemplate.dat, defaults to \Windows
CertPath – location of devcert.dat, defaults to the CertPath – location of devcert.dat, defaults to the root of the file systemroot of the file system
PreAllocateDataStore – pre-allocate the DRM PreAllocateDataStore – pre-allocate the DRM license store to a specific size, potential to license store to a specific size, potential to improve perf on hard drive-based devicesimprove perf on hard drive-based devices
HKLM\Software\Microsoft\DRMHKLM\Software\Microsoft\DRMDataPath – path & filename of the DRM license DataPath – path & filename of the DRM license store file, defaults to rootstore file, defaults to root
What Else Must Be Done to What Else Must Be Done to Ship A DRM-Enabled Device?Ship A DRM-Enabled Device?
OAL support IOCTL_HAL_GET_DEVICEID OAL support IOCTL_HAL_GET_DEVICEID and return at least 128 bits of unique dataand return at least 128 bits of unique data
Media playback app must be able to either Media playback app must be able to either enforce the OPL rights specified in a license enforce the OPL rights specified in a license or stop playback of the contentor stop playback of the content
Media playback app must call the Media playback app must call the IMediaControl::Stop method after receiving a IMediaControl::Stop method after receiving a EC_COMPLETE event EC_COMPLETE event
PB install must include Windows CE 5.0 QFE PB install must include Windows CE 5.0 QFE 041117_KB885285041117_KB885285
Working With The DRM OCXWorking With The DRM OCX
Hosted by the browser to perform non-silent Hosted by the browser to perform non-silent DLA & pre-delivery DLA & pre-delivery
Interaction from the user to confirm acquisition of Interaction from the user to confirm acquisition of the contentthe content
Other application may also host the OCXOther application may also host the OCXOCX exposes the same methods as the OCX exposes the same methods as the RMGetLicense object from the Windows Media RMGetLicense object from the Windows Media Rights Manager SDKRights Manager SDK
OCX methods abstract the CE DRM v10 API OCX methods abstract the CE DRM v10 API
Use the NetObj.GetLicenseFromURL() method to Use the NetObj.GetLicenseFromURL() method to perform pre-deliveryperform pre-delivery
Diagnosing Digital Rights Diagnosing Digital Rights Management ProblemsManagement Problems
Common DRM-related issues/failures Common DRM-related issues/failures DRM license server not updated with the latest DRM license server not updated with the latest verification keysverification keys
Attempting to playback content that require high Attempting to playback content that require high security levelsecurity level
Devices fails to playback content after a reboot or Devices fails to playback content after a reboot or power failurepower failure
Devcert.dat and Drmstore.dat are never created on Devcert.dat and Drmstore.dat are never created on the devicethe device
Attaching the debugger to a DRM imageAttaching the debugger to a DRM image
Trying to perform non-silent DLA with an image Trying to perform non-silent DLA with an image that doesn’t include a browserthat doesn’t include a browser
Developing Custom Digital Rights Developing Custom Digital Rights Management ApplicationManagement Application
CE’s E2E DRM solutionCE’s E2E DRM solutionRelies on the CE DirectShow splitter to parse the Relies on the CE DirectShow splitter to parse the ASF header file and make the appropriate calls to ASF header file and make the appropriate calls to the DRM systemthe DRM system
Custom DRM applicationCustom DRM applicationGain greater control over the license acquisition Gain greater control over the license acquisition and playback processand playback process
Use the CE DRM v10 API to directly access the Use the CE DRM v10 API to directly access the DRM system, requires the Lib and header files DRM system, requires the Lib and header files from the installation packagefrom the installation package
Custom application must be aware of the Custom application must be aware of the protected contents’ KIDsprotected contents’ KIDs
CE Digital Rights Management CE Digital Rights Management V10 API OverviewV10 API Overview
CeDRM_Mgr_Initialize()CeDRM_Mgr_Initialize()Initialize system’s internal DRM stateInitialize system’s internal DRM state
CeDRM_Mgr_SetV2Header()CeDRM_Mgr_SetV2Header()Provides content header to the DRM systemProvides content header to the DRM system
CeDRM_Mgr_Bind()CeDRM_Mgr_Bind()Searches the license store for a valid licenseSearches the license store for a valid license
CeDRM_Mgr_GenerateChallenge()CeDRM_Mgr_GenerateChallenge()Generates a license challenge requestGenerates a license challenge request
CeDRM_Mgr_ProcessResponse()CeDRM_Mgr_ProcessResponse()Store license returned from the license server to Store license returned from the license server to the local DRM storethe local DRM store
CE Digital Rights Management CE Digital Rights Management V10 API OverviewV10 API Overview
CeDRM_Mgr_Commit()CeDRM_Mgr_Commit()Commit to disk all metering and play count Commit to disk all metering and play count changes in the license storechanges in the license store
CeDRM_Mgr_Decrypt()CeDRM_Mgr_Decrypt()Protected content are decrypted in placeProtected content are decrypted in place
CeDRM_Mgr_GetLicenseData()CeDRM_Mgr_GetLicenseData()Retrieves the license rights for contentsRetrieves the license rights for contents
CeDRM_Mgr_GetDeviceProperty()CeDRM_Mgr_GetDeviceProperty()Retrieves device properties for DLARetrieves device properties for DLA
Other APIs for metering & secure clockOther APIs for metering & secure clock
Retrieving Digital Rights Retrieving Digital Rights Management License Data Management License Data // Create a DRM manager context// Create a DRM manager contextDRM_MANAGER_CONTEXT *g_pManagerContextDRM_MANAGER_CONTEXT *g_pManagerContextg_pManagerContext = (DRM_MANAGER_CONTEXT*) g_pManagerContext = (DRM_MANAGER_CONTEXT*)
HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DRM_MANAGER_CONTEXT));sizeof(DRM_MANAGER_CONTEXT));
//Initialize the DRM system//Initialize the DRM systemCeDRM_Mgr_Initialize(g_pManagerContext, &wszDeviceStoreName);CeDRM_Mgr_Initialize(g_pManagerContext, &wszDeviceStoreName);
//Set the V2 header//Set the V2 headerCeDRM_Mgr_SetV2Header (g_pManagerContext, lpHeader, cbHeader);CeDRM_Mgr_SetV2Header (g_pManagerContext, lpHeader, cbHeader);
//Retrive the license rights for a piece of content //Retrive the license rights for a piece of content const DRM_CONST_STRING *proparray[] = {&g_dstrWMDRM_PLAY};const DRM_CONST_STRING *proparray[] = {&g_dstrWMDRM_PLAY};DRM_LICENSE_STATE_DATA statedatavales[NO_OF(proparray)];DRM_LICENSE_STATE_DATA statedatavales[NO_OF(proparray)];CeDRM_Mgr_GetLicenseData( g_pManagerContext, proparray, CeDRM_Mgr_GetLicenseData( g_pManagerContext, proparray,
statedatavales, NO_OF( proparray ) );statedatavales, NO_OF( proparray ) );
Additional Digital Rights Additional Digital Rights Management ResourcesManagement Resources
Web ResourcesWeb ResourcesWM DRM Web Site: WM DRM Web Site: http://www.microsoft.com/windows/http://www.microsoft.com/windows/windowsmedia/drm.aspxwindowsmedia/drm.aspx
WM DRM Partners:WM DRM Partners:http://www.microsoft.com/windowsmedia/drm/9series/providers.aspxhttp://www.microsoft.com/windowsmedia/drm/9series/providers.aspx
Windows Media Community:Windows Media Community:http://www.microsoft.com/http://www.microsoft.com/windowsmedia/community.aspxwindowsmedia/community.aspx
Windows Media DRM Newsgroup:Windows Media DRM Newsgroup:news://news://msnews.microsoft.com/microsoft.public.windowsmedia.drmmsnews.microsoft.com/microsoft.public.windowsmedia.drm
[email protected]@microsoft.com for general questions for general questions
While At MEDC 2005…While At MEDC 2005…Fill outFill out an evaluation for this session an evaluation for this session
Randomly selected instant Randomly selected instant WINWIN prizes! prizes!
Use Use real technology in a labreal technology in a lab Instructor led Instructor led Reef E/FReef E/F & & Breakers LBreakers L
Self-paced Self-paced Reef B/CReef B/C
VisitVisit the Microsoft Product Pavilion the Microsoft Product Pavilion
in the Exhibit Hall in the Exhibit Hall Shorelines BShorelines B
After The Conference…After The Conference…
DevelopDevelop
BuildBuild
InstallInstall
BuildBuild
JoinJoin
InstallInstall
EnterEnter
JoinJoin
Full-featured trial versions of Windows CE Full-featured trial versions of Windows CE and/or Windows XP Embeddedand/or Windows XP Embedded
Cool stuff & tell us about it: Cool stuff & tell us about it: msdn.microsoft.com/embedded/community
Windows Embedded Partner Program:Windows Embedded Partner Program:www.mswep.com
Windows Mobile 5.0 Eval Kit including Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2Visual Studio 2005 Beta 2
Mobile2Market Contest and win up to $25000: Mobile2Market Contest and win up to $25000: mobile2marketcontest.com
Microsoft Solutions Partner Program:Microsoft Solutions Partner Program:partner.microsoft.com
Tools & ResourcesTools & Resources
msdn.microsoft.com/msdn.microsoft.com/ embeddedembedded
microsoft.public.microsoft.public. windowsxp.embeddedwindowsxp.embedded windowsce.platbuilderwindowsce.platbuilder windowsce.embedded.vcwindowsce.embedded.vc
blogs.msdn.com/blogs.msdn.com/ mikehallmikehall
Windows CE 5.0 Eval KitWindows CE 5.0 Eval KitWindows XP Embedded Eval KitWindows XP Embedded Eval Kit
msdn.microsoft.com/msdn.microsoft.com/ mobilitymobility
microsoft.public.microsoft.public. pocketpc.developer pocketpc.developer smartphone.developer smartphone.developer dotnet.framework.compactframeworkdotnet.framework.compactframework
blogs.msdn.com/blogs.msdn.com/ windowsmobilewindowsmobile vsdteamvsdteam netcfteamnetcfteam
Windows Mobile 5.0 Eval KitWindows Mobile 5.0 Eval Kit
WebsitesWebsites
NewsgroupsNewsgroups
BlogsBlogs
ToolsTools
BuildBuild DevelopDevelop