Conexión de subprocesos a un escritorio
Después de que un proceso se conecte a una estación de ventana, el sistema asigna un escritorio al subproceso que realiza la conexión. El sistema determina el escritorio que se va a asignar al subproceso según las reglas siguientes:
- Si el subproceso ha llamado a la función SetThreadDesktop, se conecta al escritorio especificado.
- Si el subproceso no llamó a SetThreadDesktop, se conecta al escritorio heredado del proceso primario.
- Si el subproceso no llamó a setThreadDesktop y no heredó un escritorio, el sistema intenta abrir para MAXIMUM_ALLOWED acceso y conectarse a un escritorio de la siguiente manera:
- Si se especificó un nombre de escritorio en el lpDesktop miembro de la estructura de STARTUPINFO que se usó cuando se creó el proceso, el subproceso se conecta al escritorio especificado.
- De lo contrario, el subproceso se conecta al escritorio predeterminado de la estación de ventana a la que se conecta el proceso.
El escritorio asignado durante este proceso de conexión no se puede cerrar llamando a la función CloseDesktop.
Cuando un proceso se conecta a un escritorio, el sistema busca en la tabla de identificadores del proceso los identificadores heredados. El sistema usa el primer identificador de escritorio que encuentra. Si desea que un proceso secundario se conecte a un escritorio heredado determinado, debe asegurarse de que el único identificador deseado está marcado como heredado. Si un proceso secundario hereda varios identificadores de escritorio, los resultados de la conexión de escritorio no están definidos.
Controla un escritorio que el sistema abre mientras se conecta un proceso a un escritorio no se puede heredar.
Temas relacionados