Introduction

             

Hi there,

I’m Michel Molongo, development support engineer on Windows Platform for nearly one year at Microsoft EMEA (Customer Service and Support Division). I’ve just created that blog in order to share with you different experience and topics I deal with on my day to day work around Windows. That’s also a great opportunity for me to tell about the not so well known of support engineer among Microsoft.

To put it in a nutshell, my mission is to help developers to solve and understand issues they may face with when they develop application targeting Windows Platform.

Following different kinds of issues you may encounter:

1) I developed an application to manage my electric train toy in C++ that is using the PC’s serial port. I would like to migrate the application in .NET, I would like to know which class of the .NET Framework can be used? Is it possible to get any code samples and recommendation to do this?

 

2) My application uses System.IO.Ports classes from .NET Framework. It crashes when I any attempt to send data on serial COM2 port is made, an unhandled exception is thrown even if I tried to handle exception with Try/Catch block. What causes the problem and how to get rid of it?

 

3) My Win32 application that is supposed to run as service works perfectly well with Windows XP and Windows Server 2003 but doesn’t seem to work correctly with Windows Vista. Any call to CreateWindow() API returns ERROR_ACCESS_DENIED. I need help to understand what is happening here and how I can have my application to work on Windows Vista.

 

4) My application is based on Framework .NET 3.5, it seems to work properly on my test environment but once in production I noticed that the process’s memory usage was getting higher and higher with utilization. It looks like there is a memory leak somehow, but I am not able to find anything going wrong in my code. After two days the application hangs. How can I determine the root cause of this issue?

You now have an overview of how Support Engineer may help you. I’m actually the first interface between developers outside Microsoft and Windows Product group, from bug discovery to the hotfix delivery.

My team is specialized on a set of Windows Technologies : Active Directory, ADAM/AZMAN/SNMP/RPC, Crypto / Certificates / Security, GINA / Credential providers, MSI, NT Services, PowerShell, Printing, Sockets / TCP / IP Helper, Terminal Services / RDP, User Dumps, Vista / UAC / Upgrade, Win 32 API, WMI, WSUS (Windows Update Service).

I’ll mainly tell you about multiple aspects of developing for Windows whether it is native (C/C++ ) or managed (C#/VB.NET) code but also issues that I, my colleagues or any other developers frequently face with. You will find here how any of them have been solved and how they could have been avoided.

As a conclusion, you will also find in this blog recommendations and hints about tools you can use as troubleshooting purpose, code samples, information relative to Windows technologies, my job, my team and more generally Microsoft.

I’ll publish the posts in French, English, and maybe soon in Spanish. J

Please feel free to contact me if there are any topics you want to read about in that blog.

I wish you a pleasant reading.

Cheers,

--Michel

Bonjour à tous,

Je suis Michel Molongo, ingénieur au support développement sur plateforme Windows depuis un peu plus d'un an chez Microsoft EMEA (Division Customer Service and Support). Je viens de créer ce blog afin de partager avec vous différentes expériences et sujets abordés lors de mon travail quotidien autour de Windows. C'est aussi une opportunité de présenter le métier méconnu d'ingénieur support au sein Microsoft.

En quelques mots, mon métier consiste à aider les développeurs à résoudre les problèmes qu'ils rencontrent lors de leur développement d'application à destination de la plateforme Windows.

Les problèmes peuvent être de plusieurs natures, par exemple :

1) J'ai développé une application pour contrôler un train électrique en C++ qui utilise le Port Série du PC. Je voudrais porter l'application en .NET, je voudrais savoir quelles classes du Framework .NET utiliser ? S’il est possible d’avoir des exemples d’utilisation de la classe ?

2) Mon application utilise les classes System.IO.Ports du Framework .NET, mon application crashe quand j'essaye d'envoyer des données sur le port série COM2, une exception non gérée est levée alors que j'ai encapsulé mon code dans le bloc Try/Catch qui convient pour gérer l’exception. Comment puis-je éviter ce problème?

3) Mon application Win32 exécutée en tant que service fonctionne correctement sous Windows XP et Windows Server 2003 mais ne semble pas fonctionner sous Windows Vista. L’appel à l’API CreateWindow() retourne la valeur ERROR_ACCESS_DENIED. Qu’est-ce qui peut poser ce problème ? Comment puis-je faire fonctionner l’application sous Windows Vista ?

4) Mon application utilise le Framework .NET 3.5, elle fonctionne parfaitement dans mon environnement de test, mais une fois en production j’ai remarqué que la mémoire utilisée par le processus augmentait avec le temps sans jamais être libérée. Je constate une fuite mémoire importante qui bloque l’application au bout de deux jours d’utilisation. Je voudrais de l’aide pour déterminer les causes de ce problème.

Vous avez maintenant un petit aperçu des problématiques rencontrées.

Je suis aussi la première interface avec les développeurs pour adresser des problèmes au groupe produit Windows, de la découverte d'un bug à la publication d'un correctif.

Mon équipe est spécialiste sur un ensemble de technologies Windows Active Directory, ADAM/AZMAN/SNMP/RPC, Crypto / Certificates / Security, GINA / Credential providers, MSI, NT Services, PowerShell, Printing, Sockets / TCP / IP Helper, Terminal Services / RDP, User Dumps, Vista / UAC / Upgrade, Win 32 API, WMI, WSUS (Windows Update Service).

Je parlerai donc principalement de différents aspects du développement sous Windows que ce soit en code natif (C/C++ ) ou managé (C#/VB.NET) mais aussi des problèmes qui sont régulièrement rencontrés par moi-même mais aussi par d'autres (collègues, partenaires) auxquels j'ai pu m'intéresser. Vous saurez comment certains des problèmes ont pu être résolus et de manière général comment éviter de le retrouver.

Pour finir, vous trouverez aussi sur ce blog des recommandations sur les outils à utiliser afin d'essayer de trouver la source de vos problèmes, des exemples de code source, des informations utiles relatives à Windows, aux technologies qui s’y associent, mon métier, mon équipe et Microsoft en général.

Je tâcherai de publier l'ensemble des articles en français, en anglais et dans un futur plus ou moins proche en espagnol :-)

N'hésitez pas à me contacter s'il y a des articles qui n'ont pas été clairs ou s'il y a des sujets que vous souhaiteriez voir abordés sur ce blog.

Je vous souhaite une excellente lecture.

--Michel