Bureaux

Un bureau a une surface d’affichage logique et contient des objets d’interface utilisateur tels que des fenêtres, des menus et des hooks ; il peut être utilisé pour créer et gérer des fenêtres. Chaque objet de bureau est un objet sécurisable. Lorsqu’un bureau est créé, il est associé à la station de fenêtre actuelle du processus appelant et affectée au thread appelant.

Les messages de fenêtre ne peuvent être envoyés qu’entre les processus qui se trouvent sur le même bureau. En outre, la procédure hook d’un processus s’exécutant sur un bureau particulier ne peut recevoir que les messages destinés aux fenêtres créées dans le même bureau.

Les bureaux associés à la station de fenêtre interactive Winsta0 peuvent être créés pour afficher une interface utilisateur et recevoir une entrée utilisateur, mais un seul de ces bureaux à la fois est actif. Ce bureau actif, également appelé bureau d’entrée, est celui qui est actuellement visible par l’utilisateur et qui reçoit l’entrée utilisateur. Les applications peuvent utiliser la fonction OpenInputDesktop pour obtenir un handle sur le bureau d’entrée. Les applications disposant de l’accès requis peuvent utiliser la fonction SwitchDesktop pour spécifier un autre bureau d’entrée.

Par défaut, il existe trois bureaux dans la station de fenêtre interactive : Default, ScreenSaver et Winlogon.

Le bureau par défaut est créé lorsque Winlogon démarre le processus initial en tant qu’utilisateur connecté. À ce stade, le bureau par défaut devient actif et il est utilisé pour interagir avec l’utilisateur.

Chaque fois qu’un économiseur d’écran sécurisé s’active, le système bascule automatiquement vers le bureau ScreenSaver, qui protège les processus sur le bureau par défaut contre les utilisateurs non autorisés. Les savers d’écran non sécurisés s’exécutent sur Winsta0\Default.

Le bureau Winlogon est actif pendant qu’un utilisateur se connecte. Le système bascule vers le bureau par défaut lorsque l’interpréteur de commandes indique qu’il est prêt à afficher quelque chose, ou après trente secondes, selon ce qui se produit en premier. Pendant la session de l’utilisateur, le système bascule vers le bureau Winlogon lorsque l’utilisateur appuie sur la séquence de touches Ctrl+Alt+Suppr, ou lorsque la boîte de dialogue Contrôle de compte d’utilisateur (UAC) est ouverte.

Windows Server 2003 et Windows XP/2000 : la boîte de dialogue UAC n’est pas prise en charge.

Le descripteur de sécurité du bureau Winlogon permet d’accéder à un ensemble de comptes très restreint, y compris le compte LocalSystem. Les applications n’ont généralement pas les SID de ces comptes dans leurs jetons et ne peuvent donc pas accéder au bureau Winlogon ou basculer vers un autre bureau pendant que le bureau Winlogon est actif.

Pour plus d'informations, voir les rubriques suivantes :