I am usually very supportive of MS and their products, but this is one area that I think MS needs to work on.
My problem in particular is with the Windows Media Device Manager SDK. It seems as though it was an after thought and somebody rushed to finish it up in a few hours at the end of a work day. It is extremely vague both in the documentation about the product
and with the examples themselves.
I started working with it about 3 weeks ago when I was contacted to develop software that would interact with windows media compatible devices. I cannot believe I still have hair left on my head.
Step 1: start by reading the SDK, and trying to set up vc++ the way it says to, only, 3 libs files that it says to use do not even exist. After deciding that maybe this was an error, I move on without them.
Step 2: go about writing some authentication code for the WMDM when I find out, "uh oh, you need a license". No big deal, the key.c file says you cannot interact with WMDM at all without a VALID key. Ok, call the company, "hey we need a license"....wasted
Step 3: I open up the key.c file from the example source and its says something totally different. Turns out you do not need a valid key to interact with the dev manager...more wasted time.
Step 4: finally after days of trial and error I get the core functionality working, only by the grace of god as I was coding blind....yet again, improper documentation = wasted time.
Step 5: I figure, "hey maybe the windows media device manager 10 beta SDK might have some updated material." WRONG. Someone just copied and pasted the WMDM 9 SDK and renamed it to 10 Beta. The only difference I could find was the mention of adding playlists
or some bs.
Step 6: dazed and bewildered by this beast,I finally somehow manage to get most of it working by trial and error, somewhat, when I come across a problem reading from a device. Let me just check and see what the SDK says about this, "hrm, nothing." No mention
of the error, no mention that maybe the device manufacturer does not have drivers for reading data from the device....more wasted time
Step 7: decide its time to grab some metadata from these files on the device to spice things up. A little hesitant I follow the advice in the SDK about reading metadata. Now, there are, I think 6 types that metadata are categorized in, WORD, DWORD, QWORD,
BINARY,STRING and GUID. Great, easy enough, but, which are in what category, the doc only mentions like 10, what about the others?...more wasted time trying to figure that out.
Honestly I cannot remember the total amount of errors and contradiction between what the SDK says to do and the example provided, but there were many. Is there some kind of non-communication from the dev team and the people who write the SDK? Do they live
in seperate worlds?
On top of that, there is not one mention of someone to contact from the windows media group. This is not the case with some other product SDKs from MS. I remember writing the DirectX team a few years back about an issue and was happy when they responded promptly
to my request.
This is my biggest beef with MS, documentation.
You are looking for love in all the wrong places.
And, seriously, it takes more people like you taking the time to write out these details to underscore the lack of intimacy and attention to detail that almost all humans living in industrial sociaties need.
And, on the cyncial side, you can solve the problem on your own and write a book about it. Make a few bucks off of your misery!
I am playing with WMDM10 and indeed it is a mess. The documentation is very scarce and incorect. There are not many updates from the WMDM9 documentation and I am trying to use exactly the new features from 10.
I am now in the situation that something is not working and I have no idea if it is a device problem or we need to sign a license agreement and get keys.c (I am working with protected content).
I have the same problems with this docu and the sdk. Do you have a working solution? I want to write a service provider for WMP10. First I started to use the example in WMDM 10, but it isn't working.
Do you have a working example for WMDM?
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.