Par défaut, on est dans le contexte d'application. Mais on peut aussi être dans le contexte du document (on parle aussi de contexte de commande).
Contexte d'application
C'est l'état normal d'AutoCAD quand aucune commande n'est en cours d'exécution.
On est dans ce contexte quand la commande est marquée avec le drapeau CommandFlags.Session. Voici ce que dit la documentation :
The command will be run in the application execution context rather than the current document context, with the different capabilities and limitations that entails. It should be used sparingly.
Les fonctions qui créent un nouveau document (comme Add, Open ou Recover) ne peuvent être exécutées que dans le contexte d'application.
ExecuteInApplicationContext
If your application is operating from the application execution context, it must lock and unlock the current document to modify anything associated with it. It can do so by directly invoking the AcApDocManager::lockDocument() and unlockDocument() member function
Quand vous êtes dans le contexte d'application, et que vous souhaitez modifier un document, vous devez le verrouiller sinon vous obtiendrez une erreur eLockViolation.
Contexte de commande
C'est l'état dans lequel une commande est en cours d'exécution. Par exemple, si vous tapez la commande LIGNE, vous êtes dans le contexte de commande LIGNE.
Un document doit être verrouillé par un contexte d'exécution avant que celui-ci ou sa base de données et son gestionnaire de transactions associés puissent être modifiés.
AutoCAD stores graphics information on a per-document basis. The document context for the database must be current during appending new entities to the database to ensure that the graphics are updated correctly