Select the product you need help with
Comment faire pour utiliser les fonctions VDMDBG sur Windows NT, Windows 2000 et Windows XPNuméro d'article: 182559 - Voir les produits auxquels s'applique cet article SommaireRésuméMême lorsque vous programmez dans un environnement 32 bits, il est parfois travailler avec des applications 16 bits nécessaire. Dans Windows NT, les applications 16 bits s'exécutent au sein d'une machine virtuelle DOS (VDM). VDMDBG.dll contient des nombreuses fonctions qui sont utiles pour travailler avec des applications 16 bits. Cette bibliothèque fait partie du Kit de développement. Fonctions VDMDBG permettent une bonne pour énumérer, créer et mettre fin aux processus 16 bits (tâches) au sein d'un VDM. Cet article décrit comment utiliser ces fonctions sur Microsoft Windows NT, Windows 2000 et Windows XP. Plus d'informationsLorsque vous utilisez une des fonctions VDMDBG, vous devez créer un lien VDMDBG.lib avec votre projet. Les fonctions VDMDBG mentionnées ci-dessous ne sont qu'un sous-ensemble des fonctions disponibles. Toutefois, les fonctions qui ne sont pas mentionnées concernent uniquement un débogueur. L'énumération des VDMLa fonction VDMEnumProcessWOW() offre un moyen simple pour énumérer tous les VDM 16 bits Windows tâches en cours d'exécution. Ces VDM contient la tâche WowExec.exe. Les VDM DOS ne sont pas énumérés.La déclaration pour cette fonction est la suivante : PROCESSENUMPROC est déclarée comme suit : L'énumération des tâches de Windows 16 bitsVous pouvez utiliser VDMEnumTaskWOW() et VDMEnumTaskWOWEx() pour énumérer les tâches au sein d'un VDM donné. La différence entre les deux est que VDMEnumTaskWOWEx() fournit des informations supplémentaires à la fonction de rappel. Vous ne devez utiliser VDM retournées par VDMEnumProcessWOW() avec ces fonctions d'énumération de tâche. À l'aide de VDM DOS n'a pas de sens car chaque application DOS s'exécute dans son propre VDM.Les déclarations sont : TASKENUMPROC et TASKENUMPROCEX sont définis comme suit : Exemple d'énumérationCréation de tâches de 16 bitsVDMStartTaskInWOW() crée une tâche dans un VDM. La déclaration est la suivante :Arrêt de tâches de 16 bitsPour terminer une tâche au sein d'un appel VDM VDMTerminateTaskWOW(). La déclaration est la suivante :Cette méthode est équivalent à TerminateProcess() dans Win32. Il convient d'éviter, si possible. Il ne fournit pas la tâche une chance de sortie correctement, données peuvent être perdues. Contrairement à Win32, le WowExec n'est pas garanti de nettoyer après une tâche arrêtée. Cela peut laisser le VDM endommagée et inutilisable. Pour terminer la tâche proprement, envoyez un message WM_CLOSE à sa fenêtre de niveau supérieur. Remarque concernant les applications de DOS 16 bitsAucune des fonctions VDMDBG de manipuler les applications de DOS 16 bits. Pour énumérer les VDM DOS, vous devez utiliser une autre méthode. Tout d'abord, vous pouvez également utiliser VDMEnumProcessWOW() pour créer une liste de tous les VDM Win16 et puis énumérer toutes les instances de NTVDM.exe à l'aide de certains autre schéma (tel que PSAPI). Tout NTVDM.exe à partir de l'énumération complète qui n'était pas dans la liste de Win16 est un VDM DOS. Vous pouvez créer et terminer des applications de DOS 16 bits avec CreateProcess() et TerminateProcess().PropriétésNuméro d'article: 182559 - Dernière mise à jour: mardi 21 novembre 2006 - Version: 3.4 Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
Traduction automatique IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. La version anglaise de cet article est la suivante: 182559
(http://support.microsoft.com/kb/182559/en-us/
)
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. |




Retour au début








