Création d’une application DISM

Vous pouvez développer des applications en utilisant l’API DISM sur n’importe quel ordinateur où vous avez installé le Kit de déploiement et d’évaluation Windows (Windows ADK).

Configuration de l’environnement de développement

  1. Ajoutez le chemin vers DismApi.lib sous la forme d’une dépendance supplémentaire dans les propriétés d’entrée de l’éditeur de liens de votre projet.

    Par défaut, DismApi.lib est installé avec Windows ADK dans C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Lib\.

  2. Ajoutez le chemin vers DismApi.h aux propriétés de ressource de votre projet.

    Par défaut, DismApi.h est installé avec Windows ADK dans C:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Deployment and Imaging Tools\SDKs\DismApi\Include\.

  3. Incluez le fichier d’en-tête de l’API DISM, DismApi.h, dans votre code.

Fonctions de l’API DISM requises

Tous les processus de l’API DISM doivent commencer par la fonction DismInitialize avant que d’autres appels à l’API DISM puissent être effectués. À l’inverse, la fonction DismShutdown est utilisée pour mettre fin à un processus.

Pour traiter une image hors connexion, utilisez la fonction DismMountImage pour mapper le contenu de l’image à un répertoire sur votre ordinateur local avant d’ouvrir une session DISM.

Vous pouvez associer une image Windows hors connexion ou en ligne à une DISMSession en appelant la fonction DismOpenSession. Toutes les opérations de maintenance et de réparation sur les images sont effectuées en utilisant une DISMSession. Toutes les API qui opèrent sur une image acceptent une DismSession comme premier paramètre. Vous pouvez appeler la fonction DismCloseSession pour libérer une DismSession, puis appeler la fonction DismUnmountImage si vous avez fini d’utiliser l’image hors connexion.

Certaines opérations ne nécessitent pas de session DISM. Il s’agit notamment de la fonction DismGetImageInfo, de la fonction DismGetMountedImageInfo, de la fonction DismRemountImage, de la fonction DismCleanupMountpoints, de la fonction DismGetLastErrorMessage et de la fonction DismDelete. Ces opérations peuvent être utilisées à tout moment après l’appel de la fonction DismInitialize.

Pour obtenir un exemple d’application DISM de base, consultez Exemples de l’API DISM.

Utiliser des API DISM appairées pour ouvrir et fermer des processus

  1. Pour démarrer un processus DISM, appelez la fonction DismInitialize.

  2. Si vous utilisez une image hors connexion, appelez la fonction DismMountImage.

  3. Vous pouvez appeler les fonctions qui ne nécessitent pas de session DISM, comme la fonction DismGetMountedImageInfo, après avoir démarré le processus avec la fonction DismInitialize.

  4. Si vous voulez traiter une image, commencez par associer une image Windows hors connexion ou en ligne à une DISMSession en appelant la fonction DismOpenSession.

  5. Vous pouvez maintenant effectuer des opérations de gestion ou de traitement d’images qui utilisent une session DISM, comme la fonction DismAddPackage.

    Pour plus d’informations sur les fonctions disponibles, consultez Fonctions de l’API DISM.

  6. Enregistrez vos modifications en utilisant la fonction DismCommitImage.

  7. Si vous avez des sessions ouvertes, utilisez la fonction DismCloseSession pour chacune d’elles afin de libérer la session et la mémoire allouée.

  8. Si vous avez fini d’utiliser une image hors connexion, appelez la fonction DismUnmountImage pour supprimer l’image montée de votre ordinateur local.

  9. Pour fermer le processus, utilisez la fonction DismShutdown.

Exemples de l’API DISM