Exporter (0) Imprimer
Développer tout

Microsoft .NET Compact Framework pour Windows CE .NET

Paul Yao, Windows Embedded MVP
The Paul Yao Company

S'applique à :
    Microsoft® Windows® CE .NET leave-msdn france Site en anglais
    Microsoft Platform Builder version 4.0
    Microsoft .NET Compact Framework leave-msdn france Site en anglais
    Microsoft .NET

Résumé : Microsoft Windows Embedded MVP, Paul Yao propose une présentation des initiatives Microsoft .NET telles qu'elles s'appliquent aux développeurs de systèmes incorporés pour la communauté de développeurs de systèmes incorporés Windows leave-msdn france Site en anglais.

Sommaire

Avantages de .NET sur Win32
B.A. BA de .NET
.NET Compact Framework dans les périphériques incorporés
Exécution de programmes .NET
Composants Windows CE requis pour le .NET Compact Framework
Conclusion
Acronymes et abréviations
Pour plus d'informations...

Remarque    Ce livre blanc décrit les éléments de base de l'initiative Microsoft .NET, telle qu'elle s'applique aux développeurs de systèmes incorporés. Le .NET Compact Framework décrit ici est expédié avec un module complémentaire de développement Microsoft Visual Studio .NET, appelé Smart Device Extensions (SDE). À ce jour, une avant-première technologique de SDE a été expédiée et une version bêta est attendue dès juin 2002. Les thèmes traités dans ce livre blanc incluent :       Avantages de .NET sur Microsoft Win32       B.A. BA de .NET       .NET Compact Framework dans les périphériques incorporés Ce sommaire est uniquement fourni à titre informatif et pratique. Les risques liés à l'utilisation des informations contenues dans cet article et les résultats obtenus relèvent entièrement de l'utilisateur.                                                    Windows Hardware Engineering Conference

Avis de non-responsabilité de l'auteur et copyright :

© 2002 The Paul Yao Company. Tous droits réservés.

Avis de non-responsabilité des sponsors WinHEC    Le contenu de ce document n'a pas été rédigé ni confirmé par Microsoft et les co-sponsors de la conférenceWinHEC (ci-après appelés « sponsors WinHEC »). En conséquence, les informations contenues dans ce document ne reflètent pas nécessairement les vues des sponsors de WinHEC et les sponsors de WinHEC ne peuvent pas faire la moindre déclaration concernant son exactitude. LES SPONSORS DE WinHEC N'OFFRENT AUCUNE GARANTIE, EXPRESSE OU TACITE, AU SUJET DE CES INFORMATIONS.

Microsoft, Windows, Windows NT, ActiveX, Visual Basic, Visual Studio et Win32 sont des marques de commerce ou des marques déposées, aux États-Unis et/ou dans d'autres pays, de Microsoft Corporation. Les autres noms de produits et de sociétés mentionnés ici peuvent être des noms de marques de leur propriétaire respectif.

Avantages de .NET sur Win32

Le Microsoft® .NET (prononcé « point Net ») Compact Framework est une nouvelle interface de programmation d'applications (API) pour Microsoft Windows® pour Pocket PC et pour Microsoft Windows CE .NET. Cette nouvelle API fait profiter les périphériques mobiles et incorporés des nombreux avantages dont le .NET Framework complet fait bénéficier les plates-formes de bureau Windows. Le .NET Compact Framework propose deux choix de langages de programmation aux programmeurs : une version évoluée .NET compatible de Microsoft Visual Basic® appelée Visual Basic .NET et Microsoft Visual C#™ (prononcé « si-charpe »), nouveau membre de la gamme de langages C et C++ spécialement développés pour Microsoft .NET.

Les programmeurs Windows CE chevronnés pourront se demander pourquoi Windows CE avait besoin d'une nouvelle API. Que reproche-t-on à celles dont on dispose déjà ? Qu'est-ce que .NET apporte à Windows CE ? Quand est-il bon de l'adopter ? Ce livre blanc apporte des réponses à ces questions.

Quels sont les points faibles de Win32 ?

Microsoft Win32® est l'API de base à la fois pour les versions bureau de Windows, c'est-à-dire pour Microsoft Windows XP, et pour les versions incorporées et mobiles de Windows, en l'occurrence, Windows CE. Or, ce n'est pas la seule API dont on dispose et à juste titre : elle est de bas niveau, de comportement imprévisible, sujette aux fuites de mémoire et, en général, elle est difficile à utiliser.

Il existe d'autres interfaces de programmation, notamment la bibliothèque Microsoft Foundation Class (MFC) pour programmeurs C++ et Microsoft Visual Basic et Microsoft eMbedded Visual Basic. Ces autres API ont été créées en grande partie en réponse aux insuffisances de Win32, mais chacune a ses propres faiblesses et limitations. MFC, par exemple, est essentiellement une couche fine par-dessus Win32. Par conséquent, même si MFC compense et masque de nombreux points noirs de Win32, elle souffre des mêmes carences, en particulier une convention d'attribution de noms capricieuse et une tendance aux fuites de mémoire. Visual Basic sur la plate-forme de bureau Windows et son petit frère Windows CE (eMbedded Visual Basic) sont l'un comme l'autre trop limités pour servir d'API standard. En fait, avec la sortie de .NET Compact Framework, Microsoft a annoncé qu'eMbedded Visual Basic ne sera plus amélioré pour des versions futures de Windows CE et qu'il ne sera pas porté aux nouvelles architectures d'UC.

Capricieux ou non, Win32 a sa place. Dans un environnement à mémoire limitée, c'est la méthode idéale, car elle crée les plus petits exécutables. (Même si, de toute évidence, dans un environnement à mémoire limitée vous voulez faire deux fois plus attention à éviter les fuites de mémoire !) Pour certains types de logiciels —essentiellement les extensions de systèmes d'exploitation— vous n'avez pas d'autre choix que d'utiliser Win32. Ceci est vrai pour les pilotes de périphériques, les extensions d'interpréteurs, les applets de panneau de configuration, à l'intérieur de la couche d'adaptation d'OEM (OAL) et dans les autres modules de bas niveau. Dans ces cas précis, il s'agit de la seule interface de programmation utilisable.

Quels sont les avantages de .NET ?

L'initiative .NET représente un effort systématique visant à rendre la programmation plus efficace. Il faut savoir que .NET n'est pas une seule chose, mais plusieurs. Chaque élément de .NET représente une manière de faciliter l'écriture du code ; regroupés, ils représentent une réorientation majeure voire, pour certains, une petite révolution. Pour les clients Microsoft de longue date, il s'agit quasiment d'une réinvention de Microsoft, résolument axée sur Internet. Et tous ceux qui développent des logiciels pour une version quelconque de Windows —bureau ou incorporée— doivent évaluer dans quelle mesure (et non pas si) .NET les concerne.

Mais pourquoi ces changements étaient-ils nécessaires ? Le développement de logiciels est encore une activité fortement demandeuse de main-d'œuvre et prône aux erreurs. En revanche, les progrès réalisés dans la densité de la silicone, de même que les outils de conception de circuits complexes dans la silicone, ont donné lieu à des progrès considérables dans les matériels. Les progrès dans le développement de logiciels ont été nettement plus modestes. Toutefois, étant donné l'importance des logiciels (pour certaines sociétés, le logiciel est le domaine de prédilection de l'ajout de valeur), les efforts visant à améliorer la productivité dans le développement de logiciels ont de grandes chances de donner des résultats significatifs et durables.

B.A. BA de .NET

On a beaucoup écrit au sujet de .NET et ce livre blanc n'en est qu'un survol. Pour comprendre les avantages de .NET Compact Framework, laissez-moi résumer ici les éléments clés de .NET qui s'appliquent à la création d'applications mobiles et incorporées sur le Pocket PC et sur les périphériques Windows CE .NET compatibles.

.NET est bien des choses. Je vais me concentrer sur certains éléments clés et, étant donné les limitations d'espace, j'en laisserai certains de côté. Pour plus de détails sur .NET, rendez-vous sur le site Web Microsoft .NET.

Classes d'applications .NET

L'initiative .NET prend en charge trois classes générales d'applications :

  1. Windows Forms — Applications à interface graphique traditionnelle tournant sur un système client. Le .NET Compact Framework prend en charge un sous-ensemble du .NET Framework de bureau pour la création d'applications à interface graphique Windows CE.
  2. Web Forms — Applications basées sur navigateur, en d'autres termes, applications basées sur HTML, qui ont un composant côté client et un composant côté serveur Web. Alors que le .NET Compact Framework n'a lui-même pas de prise en charge intégrée pour Web Forms, les applications basées sur Windows CE et navigateur bénéficient de la souplesse supérieure d'un serveur Web basé sur le .NET. Quand le Microsoft Mobile Internet Toolkit (MMIT) est installé sur un tel serveur, il augmente d'autant la prise en charge d'un large éventail de langages à balises pour périphériques portables, y compris HTML, Compact HTML (cHTML) et Wireless Application Protocol/Wireless Markup Language (WAP/WML).
  3. Web Services — Mécanisme d'appel de procédures à distance (RPC) basé sur serveur Web qui utilise des datagrammes codés XML construits selon le protocole SOAP et transmis via les protocoles HTTP. Le .NET Compact Framework prend en charge la création de clients Web services, mais pas les serveurs Web Services. Les développeurs qui veulent déployer des serveurs Web Services basés sur Windows CE peuvent s'y prendre en faisant appel au kit d'outils SOAP pour Windows CE, disponible avec Windows CE .NET avec Microsoft Platform Builder.

Les applications basées sur Windows CE .NET bénéficieront des trois types de classes d'applications. Mais les deux types directement pris en charge par le .NET Compact Framework sont Windows Forms et les clients Web Services. Web Forms prend en charge les périphériques Windows CE, mais l'ensemble de la logique est basée sur serveur. En ce qui concerne les navigateurs du Web, les HTML normaux (ou WAP ou cHTML) sont transmis entre un périphérique basé sur Windows CE et un serveur .NET compatible exécutant le kit d'outils Microsoft Mobile Internet Toolkit (MMIT).

L'architecture .NET vous permet de connecter du code issu de différents langages de programmation. C'est ce que j'appelle « éléments communs », car les noms contiennent tous le mot « common ». Dans ce contexte, commun signifie standard, courant. Voici certains éléments communs de .NET :

  • Common Language Runtime (CLR) — Environnement d'exécution des exécutables .NET, assurant le chargement du programme, la gestion de la mémoire et d'autres fonctions centrales du système d'exploitation.
  • Common Type System — Types standard accessibles à partir de tous les langages de programmation .NET compatibles.
  • Common Language Interface — Liaison standard entre les classes, méthodes, interfaces, énumérations et autres éléments de programmation de .NET.
  • Common Intermediate Language — Aussi appelé « langage intermédiaire Microsoft » ou MSIL, code de niveau de langage machine standard, indépendant de l'UC dans lequel tous les exécutables .NET sont écrits.

.NET Framework

Le .NET Framework est une API orientée objet conçue pour une utilisation facile. De la même manière qu'une interface utilisateur bien conçue peut être « découverte », l'API .NET a été créée pour faciliter la programmation une fois que vous en comprenez les bases. À titre de comparaison, considérez la manière dont les fonctions Win32 ont un empaquetage minimum qui n'est finalement guère plus qu'un ensemble de fonctions dispersées parmi un ensemble de bibliothèques à lien dynamique (DLL). Quand un programmeur écrit du code Win32 pour créer et commander une fenêtre (l'objet d'interface utilisateur fondamental), les fonctions nommées CreateWindow, MoveWindow et ShowWindow sont indispensables. Même si la documentation vous aide à trouver ces fonctions et les fonctions associées, la structure des DLL ne permet pas de les localiser facilement. Toutes les fonctions (il y en a 2 500 sur Windows CE .NET et plus de deux fois plus sur Windows XP) nagent dans un océan de fichiers Include, fichiers de bibliothèques et DLL. Pour découvrir des fonctions individuelles, vous devez être vigilant, car vous prendrez au filet des éléments qui pourront un jour s'avérer utiles.

.NET résout le problème en utilisant divers types de conteneurs. Et en fait, .NET a divers types de conteneurs, à la fois pour le code et pour les données. Considérons dans un premier temps les conteneurs de code .NET.

Les fonctions sont regroupées par classes et les classes sont regroupées par espaces de noms (eux-mêmes regroupables par d'autres espaces de noms). Par exemple, vous créez et commandez des fenêtres à l'aide de fonctions d'une classe appelée Form (formulaire). La classe Form réside dans l'espace de nom System.Windows.Forms. Un nom d'espace de nom et un nom de classe peuvent se conjuguer pour donner un nom complet. Dans l'exemple que je viens de citer, la classe Form peut être désignée sans ambiguïté sous l'appellation System.Windows.Forms.Form. Dans cette classe, vous trouverez les éléments nécessaires pour travailler sur des fenêtres.

L'API .NET fait aussi un usage extensif des conteneurs de données. Par exemple, la classe Form contient un objet de conteneur —du type ControlCollection— nommé Controls. Vous pouvez ajouter des commandes à une fenêtre en appelant ControlCollection.Add, en supprimer en appelant ControlCollection.Remove, déterminer le nombre de commandes sur un formulaire en vérifiant la propriété ControlCollection.Count et faire défiler la liste des commandes disponibles à l'aide de l'énumérateur rendu disponible par la méthode ControlCollection.GetEnumerator. Comme le montrent ces exemples, un nom de classe et des noms de fonctions membres peuvent être réunis tout comme peuvent l'être un nom d'espace de nom et un nom de classe.

De nombreux conteneurs de données ont un énumérateur, tout comme la classe Forms, dont l'énumérateur est accessible dans l'objet de collection ControlCollection. Un énumérateur vous permet d'obtenir une liste complète de choses dans la collection. Dans l'exemple utilisé plus haut, il est facile d'observer les commandes dans une fenêtre en demandant à la collection Controls d'en fournir la liste.

Toute cette organisation de code et de données désignent une API qui est extrêmement régulière. Je veux dire par là que, une fois que vous vous êtes familiarisé avec l'idée de départ d'un espace de nom, vous pouvez voir comment elle vous permet de trouver des fonctions associées quand vous devez travailler avec un objet que vous n'avez jusqu'alors jamais utilisé. Une fois que vous vous serez familiarisé avec la manière dont les objets de données peuvent être placés dans des conteneurs, il deviendra facile de comprendre comment ajouter, supprimer, énumérer et, plus généralement, utiliser les collections d'objets. L'avantage de .NET est donc sa régularité et sa facilité d'utilisation qui résultent d'une conception réfléchie de la part des architectes système .NET. Toutes ces qualités aideront les programmeurs à accroître leur productivité.

Common Type System

Le Common Type System (CTS) propose un large éventail de types attendus : nombres entiers signés et non signés (8, 16, 32 et 64 bits) et un point (virgule) flottant. En outre, il existe des types pour les dates, les heures et les décimales : nombres précis à point fixe (tableau 1). Cet ensemble commun de types simplifie l'interopérabilité entre les différents langages. Sur Windows CE, vous pouvez écrire des programmes .NET en utilisant deux langages de programmation différents, à la fois C# et Visual Basic .NET.

Tableau 1. Types .NET communs

Type .NET FrameworkAlias C#Alias Visual Basic .NETTaille
System.ByteByteByte1 octet
System.CharCharChar2 octets
System.Int16ShortShort2 octets
System.Int32IntInteger4 octets
System.Int64LongLong8 octets
System.DecimaldecimalDecimal16 octets
System.SingleFloatSingle4 octets
System.DoubleDoubleDouble8 octets
System.DateTimeDateTimeDate8 octets
System.StringStringStringvariable

Common Language Interface

La Common Language Interface (CLI) définit les liaisons nécessaires aux appels de fonctions. Cette caractéristique, associée aux types communs décrits plus haut, facilite l'écriture de code dans un langage et son accès à partir d'un autre langage. À la différence des API Windows précédentes, vous êtes libres de mélanger les langages différents et de les faire communiquer en un minimum d'efforts et sans perte d'informations. En revanche, il est plutôt laborieux d'appeler une bibliothèque Win32 à partir de Visual Basic. Et il est assez difficile d'appeler une fonction C++ à partir de Visual Basic (raison qui justifie l'invention de l'automatisation Microsoft ActiveX®).

Common Intermediate Language

Les fichiers exécutables .NET sont écrits dans un code de niveau machine indépendant de l'UC appelé langage intermédiaire Microsoft (MSIL). Ce code a été soumis à l'ECMA, l'organe de normalisation de l'UE, sous une forme appelée « Common Intermediate Language » (CIL). Quel que soit le nom utilisé pour vous y référer (MSIL ou CIL), ces fichiers exécutables peuvent être expédiés pour s'exécuter sur tout système exécutant le .NET Framework ou le .NET Compact Framework. Au moment de l'exécution, le chargeur convertit les instructions MSIL en instructions ARM, x86, MIPS ou SHx et c'est le code natif qui s'exécute. On parle parfois de « stratégie d'exécution juste à temps (JIT) ».

Cela veut dire qu'il est possible de créer un fichier exécutable unique qui peut s'exécuter sur toute plate-forme Windows CE. Un tel fichier exécutable peut également s'exécuter sur une plate-forme de bureau Windows telle qu'un système Pentium x86, voire un système Itanium 64 bits. La portabilité promise vous permet d'écrire du code extrêmement portable. La clé de cette portabilité consistera à cibler le sous-ensemble de la structure .NET implémentée dans le .NET Compact Framework et à éviter par ailleurs les extensions spécifiques de Windows CE —parties non disponibles sur le bureau— réalisées dans le .NET Compact Framework.

Outre cette portabilité, MSIL présente un autre avantage : des exécutables plus petits. Un exécutable MSIL est généralement plus petit qu'un exécutable x86, ARM, MIPS ou SHx comparable.

.NET Compact Framework dans les périphériques incorporés

Le Microsoft Platform Builder vous permet de configurer et créer des images Windows CE pour matériel personnalisé. Toutes les images sont créées à partir d'une de ces deux configurations de base : une configuration contrôlée à distance (HLBASE) et une configuration basée sur l'affichage (IABASE). Même si chacune peut être modifiée pour ressembler à l'autre, la plus appropriée pour le Compact Framework est la configuration IABASE. L'essentiel du .NET Compact Framework est après tout destiné à la création d'applications à interface graphique, or le développement d'interface graphiques est impossible sur un système contrôlé à distance (HLBASE). Le tableau 2 résume les douze types de configuration disponibles dans l'Assistant Nouvelle plate-forme de Platform Builder. Celles de la colonne « Configurations basées sur affichage (IABASE) » sont adaptées au .NET Compact Framework.

Tableau 2. Configurations Platform Builder Windows CE .NET

Configurations contrôlées à distance (HLBASE)Configurations basées sur affichage (IABASE)
Appareil de médiaTéléphone mobile ou intelligent
Passerelle résidentielleAppareil d'imagerie numérique
Minuscule noyauDispositif d'automatisation industrielle
 Appareil Internet
 Assistant personnel ou mobile portable
 Appareil de point de vente au détail
 Décodeur
 Web Pad
 Client fin Windows

Ajoutez le .NET Compact Framework à une configuration en ajoutant le « Technology Preview .NET Compact Framework » depuis la partie suivante du Platform Builder Catalog : « Core OS / Display based devices / Applications & Services Development ». Si vous examinez le fichier CESYSGEN.BAT, vous verrez que cette opération ajoute le module dotnetprof2 à la variable d'environnement DCOM_MODULES.

Le tableau 3 recense les fichiers qui composent le .NET Compact Framework. Ces fichiers résident dans le répertoire Platform Builder suivant : WINCE400\OTHERS\DOTNET. Quatre des fichiers sont des exécutables Win32 spécifiques de l'UC. Les autres sont des fichiers « gérés », ce qui veut dire plusieurs choses. Tout d'abord, il s'agit d'exécutables portables avec instructions machine MSIL. Ce qui en fait des fichiers gérés est qu'ils sont écrits selon un certain nombre de règles, dont la principale est qu'ils ne traitent pas les pointeurs de mémoire. À la place, ils confient la gestion de leur mémoire au garbage collector du Common Language Runtime .NET.

Tableau 3. Fichiers de prise en charge .NET Compact Framework

Fichiers spécifiques de l'UCFichiers gérés (MSIL)
mscoree.dllmicrosoft.visualbasic.dll
WFInter.dllmscorlib.dll
DbgIpcPlatMan.dllsystem.data.dll
 system.dll
 system.drawing.dll
 system.net.irda.dll
 system.web.services.dll
 system.windows.forms.dll
 system.xml.dll

Microsoft a publié une version Windows CE .NET (et Pocket PC) compatible du .NET Compact Framework sous la forme d'une avant-première technologique. Pour les développeurs désireux de goûter à .NET Compact Framework, l'avant-première technologique est l'occasion de taper du code et de comparer la version Windows CE de .NET à la version bureau.

Comme signalé plus haut, certains de ces fichiers sont fournis avec Platform Builder version 4.0 et ultérieure. Toutefois, il existe deux fichiers manquant au répertoire Platform Builder (tout au moins, ils étaient absents du candidat à la parution). Ces fichiers manquants étaient dbnetlib.dll et DbgIpcPlatMan.dll. Vous trouverez ces fichiers avec une version spéciale de Microsoft Visual Studio® .NET qui contient les Smart Device Extensions (SDE), que vous pouvez commander en ligne. Une fois tous ces fichiers présents sur une plate-forme Windows CE .NET correctement configurée, cette plate-forme peut alors exécuter un exécutable .NET. Il faut noter que cette version spéciale de Visual Studio .NET expédiée avec les SDE est différente de la version finale expédiée, disponible depuis janvier 2002.

Exécution de programmes .NET

Un programme .NET (à la fois pour bureau et pour Windows CE) est expédié sous la forme d'un fichier Win32 PE standard. L'utilisateur novice ne verra pas la différence entre un exécutable Win32 et un exécutable .NET, dans les deux cas, il a affaire à des applications qui ont l'extension .EXE et à des bibliothèques partagées qui ont l'extension .DLL.

Un exécutable Win32 diffère de deux manières d'un exécutable .NET : (1) une balise dans l'en-tête et (2) les bibliothèques dont ils dépendent. Quand un chargeur de système d'exploitation remarque la balise .NET, il appelle une fonction spéciale pour charger les fonctions MSIL par le biais du processeur JIT. (Sur Windows CE .NET, le nom de cette fonction est CeModuleJit). Les exécutables .NET dépendent de MSCOREE.DLL, c'est-à-dire qu'ils en importent les fonctions. C'est une des DLL Win32 natives qui prend en charge le .NET Compact Framework.

Deux conditions doivent être remplies pour activer le .NET Compact Framework. La première est l'ensemble de fichiers décrits plus haut. La seconde est que tous les composants Windows CE nécessaires à la prise en charge des objets .NET soient présents. Par exemple, le module GWES doit être présent pour prendre en charge les applications à interface graphique. Quand vous ajoutez le .NET Compact Framework à une image, Platform Builder ajoute automatiquement les éléments Windows CE requis.

Sur un Pocket PC (ou un Pocket PC 2002), la même chose peut être accomplie en copiant simplement les fichiers dans le répertoire \windows. Et en fait, il en va de même pour tout périphérique Windows CE .NET. En supposant que les parties nécessaires de COREDLL.DLL et WINSOCK.DLL sont présentes, un programme .NET Compact Framework s'exécutera tant que les fichiers de bibliothèques de prise en charge sont présents.

Composants Windows CE requis pour le .NET Compact Framework

Comment pouvez-vous savoir si une application Windows CE .NET peut prendre en charge le .NET Compact Framework ou non ? Comme vous le savez peut-être, quand des composants sont incorporés à une image Windows CE, une ou plusieurs variables d'environnement sont définies. Dans l'IDE de Platform Builder, ces variables sont automatiquement définies quand vous glissez-déplacez des composants du catalogue vers une plate-forme. Même si l'IDE propose une vue graphique très agréable à l'utilisateur, elle a certains inconvénients. Par exemple, comment pouvez-vous documenter ce qui se trouve dans un système, comparer deux plates-formes ou juger —comme ce que nous essayons de faire maintenant— si une plate-forme spécifique compte un ensemble minimum de composants ? Vous pouvez déterminer exactement ce qui est présent dans une image donnée en observant l'ensemble de variables d'environnement, placé dans un fichier appelé CECONFIG.H lors de la création d'une image de plate-forme.

CECONFIG.H contient la liste des variables d'environnement pour les composants inclus lors de la création d'une plate-forme. Ce fichier est automatiquement inclus à l'image Windows CE (le fichier NK.BIN bien connu) créée pour une plate-forme. Cela veut dire que même si vous n'avez pas créé une plate-forme Windows CE .NET spécifique, vous pouvez toujours consulter le fichier CECONFIG.H pour savoir quels composants sont nécessaires. Une fois que vous avez ce fichier, l'étape suivante consiste à comparer ces composants à la liste 1.

Composants Windows CE .NET nécessaires à la prise en charge de .NET Compact Framework

Modules nécessaires à MSCOREE.DLL

  • CE_MODULES_FILESYS
  • CE_MODULES_GWES
  • COREDLL_COREMAIN
  • COREDLL_CORELOC ou COREDLL_LOCUSA
  • COREDLL_FULL_CRT
  • COREDLL_CORESIOW
  • NK_NKMAPFILE
  • GWES_CURSOR ou GWES_MCURSOR
  • GWES_KBDUI

Modules nécessaires à WFINTER.DLL

  • CE_MODULES_GWES
  • COREDLL_LMEM
  • COREDLL_GDI_C ou COREDLL_MGDI_C
  • COREDLL_WMGR_C
  • COREDLL_RECTAPI
  • GWES_FOREGND
  • GWES_ICON
  • GWES_IMGCTL
  • GWES_MSGQUE
  • GWES_MGTT ou GWES_MGRAST ou GWES_GDIFONTS ou GWES_PGDI
  • GWES_MGBITMAP ou GWES_PGDI
  • GWES_MGBLT ou GWES_PGDI
  • GWES_MGBLT2 ou GWES_PGDI
  • GWES_MGBASE ou GWES_PGDI
  • GWES_MGDRAW
  • GWES_MGDRAW ou GWES_PGDI
  • GWES_MGDRWTXT ou GWES_PGDI
  • GWES_MGPAL
  • GWES_MGRGN ou GWES_PGDI
  • GWES_NCLIENT
  • GWES_SBCMN
  • GWES_TIMER
  • GWES_WMBASE
  • GWES_WINMGR

Modules nécessaires à DBNETLIB.DLL

  • COREDLL_COREMAIN
  • COREDLL_CORELOC ou COREDLL_LOCUSA
  • CE_MODULES_FILESYS
  • COREDLL_FULL_CRT

Modules nécessaires à DBGIPCPLATMAN.DLL

COREDLL_LMEM

Conclusion

Pour résumer, quand devez-vous utiliser l'API .NET Compact Framework et quand devez-vous utiliser l'API Win32 ? Pour certains composants principaux, vous devrez utiliser l'API Win32 : pilotes de périphériques, applets de panneau de configuration, extensions d'interpréteur et la couche d'adaptation OEM. Il est probable aussi que vous utiliserez l'API Win32 pour une plate-forme contrôlée à distance (HLBASE) ou toute plate-forme que vous devez exécuter dans une mémoire particulièrement petite.

Dans tous les autres cas, quand vous créerez une application à interface graphique pour Windows CE .NET ou ultérieure, vous voudrez probablement utiliser le .NET Compact Framework. En particulier, les applications client (fenêtres, menus, boîtes de dialogue, commandes) sont naturellement destinées au .NET Compact Framework. Il en va de même pour les applications qui veulent accéder aux services Web, à savoir les clients Web Services. Pour chacun d'entre eux, le .NET Compact Framework est le choix tout indiqué. Et étant donné son haut niveau de compatibilité avec le .NET Framework de bureau, il est particulièrement facile de créer une version .NET Compact Framework d'une application .NET Framework de bureau.

En somme, vous écrirez probablement une application .NET Compact Framework chaque fois que vous en aurez l'occasion. Le nouveau langage de programmation C#, le nouvel environnement de développement Visual Studio .NET, les Smart Device Extensions (SDE) spécifiques de Windows CE et l'émulateur Windows CE .NET mis à jour se conjuguent pour créer un environnement de développement qui, pour être agréable, n'en est pas moins productif.

Acronymes et abréviations

API
Application Programming Interface

CHTML
Compact HTML

CIL
Common Intermediate Language

CLI
Common Language Interface

CLR
Common Language Runtime

CTS
Common Type System

HTML
Hypertext Markup Language

MFC
Microsoft Foundation Class

MMIT
Microsoft Mobile Internet Toolkit

MSIL
Microsoft Intermediate Language

OAL
OEM Application Layer

SDE
Smart Device Extensions

VB
Visual Basic

WAP
Wireless Application Protocol

Win32
Interface de programmation d'applications Windows 32 bits

WML
Wireless Markup Language

XML
Extensible Markup Language

Pour plus d'informations

Pour les dernières informations de développement Windows CE .NET  :

  1. Informations pour développeurs leave-msdn france Site en anglais
  2. Informations sur les produits leave-msdn france Site en anglais
  3. Trucs et astuces pour la communauté leave-msdn france Site en anglais

La documentation en ligne et l'aide contextuelle incluses à Windows CE .NET donnent également des informations et des instructions complètes d'utilisation de Windows CE .NET.

Pour accéder à la documentation en ligne  :

  1. Ouvrez Platform Builder 4.0.
  2. Pour afficher la documentation, sélectionnez l'onglet Sommaire du menu Aide.
    Remarque   Installez les mises à jour des fichiers d'aide Windows CE .NET disponibles au Centre de téléchargement des applications incorporées Windows leave-msdn france Site en anglais sur le site MSDN.

Centre des développeurs des applications incorporées Microsoft Windows

Vous pouvez toujours trouver les dernières informations pour développeurs y compris actualités, documentation produit, articles techniques, colonnes, procédures, téléchargements, exemples de code, correcteurs et mises à jour pour Windows CE .NET au Centre des développeurs des applications incorporées Microsoft Windows leave-msdn france Site en anglais de MSDN®.

Rejoignez-nous, échangez des informations et développez dans la Communauté des développeurs d'applications incorporées Windows

Visitez la Communauté des développeurs d'applications incorporées Windows leave-msdn france Site en anglais pour trouver des ressources qui vous permettront de vous tenir à jour sur les technologies de plates-formes y compris trucs et astuces, chats, groupes de discussion, téléchargements proposés et bien plus encore. Vous pouvez aussi communiquer vos compétences de développement, gagner à entretenir des rapports d'entraide précieux avec des collègues et trouver des réponses à bien des questions relatives à Windows CE .NET.



Dernière mise à jour le mardi 17 septembre 2002



Pour en savoir plus
Afficher:
© 2014 Microsoft