How to ask questions on newsgroups

This page is also available in Italian. Want to translate into your language? Let me know!

There are certain rules when you use a community driven newsgroup to get answers to your questions. The Microsoft newsgroups that deal with Platform Builder and Windows CE development (like microsoft.public.windowsce.platbuilder, microsoft.public.windowsce.embedded & microsoft.public.windowsce.embedded.vc) are not actively monitored by Microsoft. The people answering your questions are your peers; volunteers who spend their time researching your problem because they find it interesting and want to learn more.

The people that post most answers are in many cases MVPs, Most Valuable Professionals, a status awarded by Microsoft to people who help out the community by running user groups, answering questions in public newsgroups, etc.

It is important to note that nobody is being paid to answer questions. They're all volunteers.

Now that you know this, you also know that there is no guarantee to get an answer. The most common reasons for not getting an answer are:

  • Your question has been answered on the newsgroup in the past
  • Search before you ask!

  • You didn't supply enough information
  • "I call this function and it doesn't work, please help" is useless.

  • You keep on posting the same question over and over
  • If nobody answered your question after a couple of days it is because you didn't read this blog post on how to ask questions or simply because nobody knows an answer. If you want to "reactivate" your question, post a reply to your own question with something like "Anybody? Please?" and supply any other relevant information you may have gathered over the past few days. Do not start another thread for the same question. It is annoying and will result in people ignoring you.

  • You demand a quick answer
  • Demanding things from people you do not pay any money is generally counterproductive.

  • You post the same question separately to different newsgroups
  • If you think your question is relevant to multiple newsgroups post one question to multiple newsgroups. Please do not post the same question separately to different newsgroups. If you want to crosspost that's fine; just create one message with all the newsgroups you want to post to listed in the To: field (just as you would sent one email to multiple email addresses using the To, CC, or BCC fields). Replies to your question will then appear in all newsgroups you posted to. If you post the same question separately to multiple newsgroups the reply will only appear in the newsgroup that was replied to, leaving the question in the other newsgroups unanswered.

Note that the above says nothing about "stupid" questions. That is because stupid questions do not exist! Everybody on the newsgroups started with Windows CE at some point, and everybody struggled with the (sometimes) steep learning curve in the beginning. We know where you are coming from so don't be shy and ask, but before you do, take note of the following "rules" that will increase your chances in getting a useful answer:

  • Read MSDN Library
  • This sounds logical, but you'd be surprised how many questions are asked that can be easily found in MSDN. Click here for the Windows CE documentation and use the search box in the top right hand corner to search. When you use search, make sure you check if the description you see is for "desktop" Windows, or for Windows Embedded. As you know, Windows CE uses a subset of the big Win32 API and some API parameters have different meaning in CE, so be careful there! That said, sometimes the big Win32 API description lists more information that also applies to and is still useful for CE. First thing to do when you encounter a problem with an API is to open the description of that API in MSDN, check all the parameters and read the remarks section. The remarks section has useful information about error conditions and special requisites that may be needed for the API. If you encounter a problem in the documentation, or missing information or something else wrong with the documentation: Use the "Click to Rate and Give Feedback" link in the top right corner. The people at Microsoft responsible for the documentation really read this feedback and will update the documentation where necessary. Help make the documentation better!

  • Before asking a question, search the newsgroups for an answer
  • Use Google Group Search to search the newsgroups. Type some keywords in the "with all of the words" box, then in the "Return only messages from the group at this location" box type *windowsce* to search all newsgroups related to Windows CE. I also usually set the form to "Return 100 messages" and "Sort by Date" so I get the latest answers on the top of the list.

  • Subscribe to blogs
  • Most MVPs and some people within the Microsoft Product Team have blogs. Blog posts usually deal with a FAQoaN (a Frequently Asked Question on a Newsgroup ;o), like the "What to build when" post on this blog. Some of the blogs that I subscribe to are the Windows CE Base Team Blog, Mike Hall's Windows Embedded Blog, the Windows Mobile Team Blog and of course the GuruCE Blog.

If your search did not return a useful answer you can post a question to the newsgroup, but before you do: try a debug build, get KITL going and analyse the debug messages. If you can't build a debug kernel or get KITL going it will be difficult to get to the root of the problem, but not always. If you can't get KITL or a debug build going list that in your question!

Information that should be in your question:

  • OS version / hardware / board / kernel / QFE's
  • List the OS version, what hardware, what processor, what board, what BSP, debug or retail kernel, KITL yes/no, and what QFEs you installed

  • Specific Component
  • If you have problems with an existing driver or a specific component; tell us! Saying "I've got a problem with the touch driver" is useless, because there is no such thing as the touch driver. If you made the driver; tell us. If you cloned a driver, tell us which driver you cloned (including the original path you cloned from). If you are having problems with a standard driver, tell us exactly which one including the complete path. Example: "I've got problems with the MainstoneIII touch driver located in C:\WINCE600\PLATFORM\MAINSTONEIII\SRC\DRIVERS\TOUCH"

  • Big picture
  • Explain what you want to accomplish, not how you want to accomplish it. There may be better ways to get where you want. Describe the bigger picture.

  • What did you try
  • List the things you tried, the tests you performed and why it didn't work. If people ask you to perform another test: do it! Don't expect an answer if you are unwilling to follow advice that may lead to the solution of your problem. Also, if your search found a solution to your problem but somehow it didn't work, list that too.

  • Detailed error messages
  • If you got an error, list it. If an API returns an error, get the error number by calling GetLastError() and list it.

  • Detailed debug messages
  • Post the debug message lines that you think are relevant to the problem. Do not post 6000 lines of debug log because nobody will want to read through all of that.

  • Be polite
  • Don't demand an answer. Remember nobody is being paid to answer your questions. If you want paid support, buy support from Microsoft or one of the Embedded Partners, like GuruCE. Same goes for people answering questions; be polite, remember your own struggles when you started with CE.

  • Proof read / Spell check
  • We understand English is not the language the entire world speaks fluently; it's not my native language either. Spelling mistakes are common and not a problem at all, but before you post; at least read back what you wrote and make sure it is understandable. Don't just check for funny sentences and spelling mistakes, make sure there is enough information in the message for other people to understand your problem. The quality of the answer can only be as good as the quality of the question!

  • MSN/SMS/Text Generation
  • Remember you are not paying per-byte on the newsgroups so please refrain from trying to shorten your messages. Do not use "ur" instead of "you're" or "2" instead of "to". It makes the message unreadable/annoying. R3m3mb3r typing l1k3 th1s do3s n0t m@k3 u 3733T, 1t 1ly m@k3$ u l00k st00p1d!

If you follow these rules (that are valid for any community driven forum) then there are no stupid questions and you will most certainly get an answer from one of the many volunteers answering questions in the newsgroups.

Here's a template you can use to ask questions in the CE newsgroups:

OS........: [CE 4.2 / CE 5.0 / CE 6.0 R2] [with QFE's until March 2008]
Hardware..: [Custom board / Device Solutions F200 / etc]
Processor.: [PXA270 / AMD AU1500 / etc]
BSP.......: [Custom BSP based on Mainstone III / T5530 / etc]
Kernel....: [Debug / Retail] [KITL enabled/disabled]

I am trying to [explain what you are trying to accomplish]

I am using [list the related component/driver including the full path]

I've tried to [explain what you have tried so far, how you tested, etc]

I searched the web and the newsgroups and found [this/nothing]:

[url to something relevant]

I've tried to implement that but it didn't solve my problem because [explain why not]

Here's the code I use:

[show a code snippet if relevant]

The call returns [whatever the call returns] and GetLastError() returns [whatever error it returns]

The CE debug output window shows this:

[list a couple of lines around the debug log lines that you think are relevant]

I would much appreciate any pointers you can give me.

Thanks!

[Your Name]

One final request: Return the favor!

Once you find a solution to your problem, either by yourself or because of a tip from somebody on the newsgroup, please spend 5 minutes to write it down and post it as a reply to your original question. Your solution may save somebody a lot of time and frustration in the future.

Why not become part of the community? Don't be afraid to answer questions if you think you know the answer!

Wonderful Job Michel, Ive

Wonderful Job Michel,
Ive learned, how to question in blogs after reading this
Thank you

Thanks! This was very

Thanks! This was very helpful! A link to this well-written article should be posted on all the newsgroups - with an "URGENT" :-)

Well done

Nice job Michel, this will be valuable for posters in the Windows CE newsgroups.