Share via


What do people think of MSDN?

One of the things about being a new employee at any company is learning how to find the information to do your job.  One of the primary resources is of course the code, but usually you don’t want to have to look at the code itself to determine how to use it.  If you always looked at the code, you’d never get anything done.  The people are also a large resource too, but you don’t want to bother people all the time because they too have things to get done.

 

So, a lot of the time I end up using MSDN to look up information about functions/systems.  Some examples of things I read a lot about were Windows Management Instrumentation (WMI) and the Filter Manager.

 

Now, before I say anything negative, I should mention that MSDN (from my viewpoint) has a lot of useful information and I can’t even imagine being tasked with keeping it up-to-date, organized, and easy to read.  But, one experience I have had several times is that MSDN will get me started, but I will have some errors pop up in my code.  Usually those errors are caused by not realizing something small but important.  For instance, it could be that a parameter is set to NULL in an error case or that the data I received is formatted in a certain way, etc.

 

Usually I end up solving these types of issues by doing a search on the web/intranet.  That usually leads me to a presentation that the authors of the subsystem made at some point to clarify things that people seemed to be missing.  For instance, the case where I was missing that a parameter was set to NULL in the error case was in regards to registry callbacks using CmRegisterCallback.  In the RegNtPostCreateKey callback, (*Argument2)->Object is set to NULL if the create failed.  Now, I should probably have thought about this, but sometimes when you are moving fast or dealing with other complexities at the same time (like the fact that you have to do a double dereference on Argument2 for RegNtPostCreateKey) shifts your mind from catching these things.

 

So, I started to think that it might be a good idea to tie the developers to their MSDN content more.  I’m not saying that the developers should be tasked with managing MSDN, but that they should learn to keep it in mind.  For instance, obviously that issue was included in the presentation because some people were having problems with it.  Wouldn’t it have been nice if the person who made the presentation sat down and said, “Hey, I have to clarify this in my presentation, maybe we should clarify it in MSDN also.”  I am not trying to pick on the writer of CmRegisterCallback as I also had this issue with the Filter Manager and other components.

 

So, I’m curious about people’s experiences with MSDN, specifically people with much more experience using it than me.  Now, I don’t want this to turn into an MSDN hate thread, so please only give constructive feedback on your experiences.  If you only want to say that you think it is horrible, I am aware that there are a lot of people that feel that way and that that feedback does not help make it better.  I should also say that I don’t work on MSDN, but I may follow up with the people that are if I feel I have some concrete steps/actions that would help to improve MSDN.