Claims (66)
1. Способ виртуализации доступа к окнам, согласно которому1. A method of virtualizing access to windows, according to which
(a) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос, относящийся к окну и содержащий виртуальное имя окна;(a) from a process running in the context of a user account, a request is received relating to the window and containing the virtual name of the window;
(b) определяют литеральное имя указанного окна, используя характерный для области действия идентификатор;(b) determining the literal name of the specified window using the identifier specific to the scope;
(c) отправляют операционной системе запрос, содержащий определенное на предыдущем этапе литеральное имя окна; и(c) send a request to the operating system containing the literal window name defined in the previous step; and
(d) ассоциируют указанное определенное литеральное имя окна с дескриптором окна.(d) associate the specified specific literal window name with the window handle.
2. Способ по п.1, в котором на этапе (а) от процесса, выполняемого в контексте пользовательской учетной записи, перехватывают запрос, относящийся к окну и содержащий виртуальное имя окна.2. The method according to claim 1, in which at step (a) from the process performed in the context of the user account, intercept the request relating to the window and containing the virtual name of the window.
3. Способ по п.1, в котором на этапе (а) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос на поиск окна, который содержит виртуальное имя окна.3. The method according to claim 1, in which at step (a) from the process performed in the context of the user account, a request is received to search for a window that contains a virtual window name.
4. Способ по п.1, в котором на этапе (а) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос на создание окна, который содержит виртуальное имя окна.4. The method according to claim 1, in which at step (a) from the process performed in the context of the user account, receive a request to create a window that contains the virtual name of the window.
5. Способ по п.1, в котором на этапе (b)5. The method according to claim 1, wherein in step (b)
(b-1) определяют правило, ассоциированное с виртуальным именем окна, которое содержится в указанном запросе; и(b-1) define a rule associated with the virtual name of the window that is contained in the specified request; and
(b-2) определяют литеральное имя для окна исходя из определенного на предыдущем этапе правила.(b-2) determine the literal name for the window based on the rule defined in the previous step.
6. Способ по п.1, в котором на этапе (b) определяют литеральное имя окна с использованием характерного для области действия идентификатора, ассоциированного с изолирующей областью действия приложения, с которой ассоциирован процесс, выполняющий указанный запрос.6. The method according to claim 1, in which, in step (b), a literal window name is determined using the domain-specific identifier associated with the isolation scope of the application with which the process executing the request is associated.
7. Способ по п.1, в котором на этапе (d) указанное виртуальное имя окна записывают в таблицу соответствия, ассоциированную с дескриптором окна.7. The method according to claim 1, wherein in step (d), the indicated virtual window name is recorded in the correspondence table associated with the window descriptor.
8. Способ по п.1, в котором также получают ответ на отправленный запрос от операционной системы.8. The method according to claim 1, in which they also receive a response to the sent request from the operating system.
9. Способ по п.8, в котором также заменяют указанное определенное в ответе литеральное имя окна виртуальным именем окна.9. The method of claim 8, which also replaces the specified literal window name specified in the response with the virtual window name.
10. Способ виртуализации доступа к окнам, согласно которому10. A method of virtualizing access to windows, according to which
(a) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос на распознание виртуального имени окна или виртуального идентификатора класса окна, содержащий дескриптор окна;(a) from a process running in the context of a user account, a request is received to recognize a virtual window name or virtual window class identifier containing a window handle;
(b) определяют, что указанный дескриптор окна ассоциирован с запрашиваемым виртуальным именем окна или виртуальным идентификатором класса окна и(b) determining that said window descriptor is associated with a requested virtual window name or virtual window class identifier; and
(c) возвращают запрашивавшему процессу определенную на предыдущих этапах информацию, относящуюся к окну.(c) return to the requesting process the information specified in the previous steps regarding the window.
11. Способ по п.10, в котором на этапе (b) определяют отсутствие ассоциации между указанным дескриптором окна и запрашиваемым виртуальным именем или виртуальным идентификатором класса окна.11. The method of claim 10, wherein in step (b), a lack of association between the specified window descriptor and the requested virtual name or virtual class identifier of the window is determined.
12. Способ по п.11, в котором также определяют ассоциацию указанного дескриптора окна с запрашиваемым виртуальным именем или виртуальным идентификатором класса окна из таблицы соответствия.12. The method according to claim 11, in which also determine the association of the specified window descriptor with the requested virtual name or virtual identifier of the window class from the table of correspondence.
13. Способ по п.12, в котором также возвращают запрашивавшему процессу ответ, полученный от операционной системы.13. The method according to item 12, in which they also return to the requesting process the response received from the operating system.
14. Устройство для виртуализации доступа к окнам, содержащее14. A device for virtualizing access to windows, containing
(а) механизм прерывания, получающий запрос, относящийся к окну и содержащий виртуальное имя окна или виртуальный идентификатор класса окна, от процесса, выполняемого в контексте пользовательской учетной записи;(a) an interrupt mechanism that receives a window-related request containing a virtual window name or virtual window class identifier from a process running in the context of a user account;
(b) процессор виртуализации оконных имен, формирующий литеральное имя для окна или литеральный идентификатор класса окна с использованием содержащегося в указанном запросе виртуального имени окна или виртуального идентификатора класса окна и характерного для области действия идентификатора и(b) a window name virtualization processor generating a literal name for the window or a literal identifier of the window class using the virtual window name or virtual identifier of the window class contained in the specified request and the scope-specific identifier and
(c) интерфейс операционной системы, выдающий запрос, относящийся к окну, который содержит указанное сформированное литеральное имя или указанный сформированный литеральный идентификатор класса окна для указанного окна.(c) an operating system interface issuing a query relating to a window that contains the specified literal name generated or the specified literal window class identifier for the specified window.
15. Устройство по п.14, в котором механизм прерывания перехватывает запрос, выбранный из группы, содержащей запрос на поиск окна, создание окна, регистрацию окна, уничтожение окна, присваивание имени окну, получение имени окна, получение идентификатора класса окна, ассоциированного с указанным окном, реестровую регистрацию класса окна, получение информации о классе окна и прекращение регистрации класса окна.15. The device according to 14, in which the interrupt mechanism intercepts a request selected from the group containing the request to search for a window, create a window, register a window, destroy a window, name the window, obtain the window name, obtain the window class identifier associated with the specified a window, registering a window class, receiving information about a window class, and terminating window class registration.
16. Устройство по п.14, также содержащее таблицу соответствия, в которой хранится информация об ассоциации дескриптора окна с виртуальным именем окна или виртуальным идентификатором класса окна.16. The device according to 14, also containing a correspondence table that stores information about the association of the window descriptor with the virtual window name or virtual window class identifier.
17. Устройство по п.16, в котором указанная таблица соответствия ассоциирована с указанным процессом.17. The device according to clause 16, in which the specified correspondence table is associated with the specified process.
18. Устройство по п.17, содержащее также вторую таблицу соответствия, ассоциированную со вторым процессом.18. The device according to 17, also containing a second correspondence table associated with the second process.
19. Устройство по п.15, также содержащее процессор правил, содержащий правило, которое определяет, каким образом процессор виртуализации оконных имен формирует литеральное имя для окна или литеральный идентификатор класса окна для окна.19. The device according to clause 15, also containing a rule processor, containing a rule that determines how the window name virtualization processor generates a literal name for a window or a literal class identifier for a window for a window.
20. Способ виртуализации доступа к окнам, согласно которому20. A method of virtualizing access to windows, according to which
(a) перехватывают от источника запроса запрос, содержащий дескриптор окна, на создание строки заголовка для окна, содержащей имя окна;(a) intercepting from the request source a request containing a window handle to create a title bar for a window containing the window name;
(b) определяют ассоциацию между дескриптором окна и виртуальным именем окна;(b) determining an association between a window handle and a virtual window name;
(с) создают строку заголовка окна с использованием виртуального имени окна и(c) creating a window title bar using the virtual window name and
(d) сообщают источнику запроса о том, что строка заголовка создана.(d) informing the source of the request that the header line has been created.
21. Способ виртуализации доступа к окнам, согласно которому21. A method of virtualizing access to windows, according to which
(a) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос, относящийся к классу окна и содержащий виртуальный идентификатор класса окна;(a) from a process running in the context of a user account, a request is received relating to the window class and containing the virtual identifier of the window class;
(b) определяют литеральный идентификатор класса с использованием характерного для области действия идентификатора; и(b) determining a literal class identifier using a domain specific identifier; and
(c) отправляют запрос, содержащий определенный на предыдущем этапе литеральный идентификатор класса окна, операционной системе.(c) send a request containing the literal identifier of the window class defined in the previous step to the operating system.
22. Способ по п.21, в котором на этапе (а) перехватывают запрос, относящийся к классу окна и содержащий виртуальный идентификатор класса окна, от процесса, выполняемого в контексте пользовательской учетной записи.22. The method according to item 21, in which at step (a) they intercept the request related to the window class and containing the virtual identifier of the window class from the process running in the context of the user account.
23. Способ по п.21, в котором на этапе (а) от процесса, выполняемого в контексте пользовательской учетной записи получают запрос, содержащий виртуальный идентификатор класса окна, на поиск окна23. The method according to item 21, in which at step (a) from the process performed in the context of the user account receive a request containing a virtual identifier of the window class to search for a window
24. Способ по п.21, в котором на этапе (а) от процесса, выполняемого в контексте пользовательской учетной записи, получают запрос, содержащий виртуальный идентификатор класса окна, на создание окна.24. The method according to item 21, in which at step (a) from the process performed in the context of the user account, receive a request containing a virtual identifier of the window class to create a window.
25. Способ по п.21, в котором на этапе (b)25. The method according to item 21, in which at step (b)
(b-1) определяют правило, ассоциированное с виртуальным идентификатором класса окна, включенным в запрос; и(b-1) define a rule associated with the virtual identifier of the window class included in the request; and
(b-2) определяют литеральный идентификатор класса окна, реагирующий на определенное на предыдущем этапе правило.(b-2) determine the literal identifier of the window class that responds to the rule defined in the previous step.
26. Способ по п.21, в котором на этапе (b) определяют литеральное имя класса окна с использованием характерного для области действия идентификатора, который ассоциирован с изолирующей областью действия приложения, с которой ассоциирован процесс, выполняющий указанный запрос.26. The method of claim 21, wherein, in step (b), a literal window class name is determined using the domain-specific identifier that is associated with the isolation scope of the application with which the process executing the request is associated.
27. Способ по п.21, в котором на этапе (d) виртуальный идентификатор класса окна сохраняют в таблицу соответствия, ассоциированную с дескриптором окна.27. The method according to item 21, in which at step (d) the virtual identifier of the window class is stored in the correspondence table associated with the window descriptor.
28. Способ по п.21, в котором также получают ответ на отправленный запрос от операционной системы.28. The method according to item 21, which also receive a response to the sent request from the operating system.
29. Способ по п.28, в котором также заменяют определенный литеральный идентификатор класса окна на виртуальный идентификатор класса окна в ответе.29. The method of claim 28, further comprising replacing the specific literal identifier of the window class with the virtual identifier of the window class in the response.
30. Способ ассоциирования файлового типа по меньшей мере с одной программой, согласно которому30. A method of associating a file type with at least one program, according to which
(a) получают запрос на сохранение информации об ассоциации файлового типа в память конфигурации;(a) receive a request to store file type association information in the configuration memory;
(b) исходя из запроса определяют прикладную программу, предназначенную для ассоциирования с типом файла в памяти конфигурации; и(b) based on the request, an application is defined for association with a file type in the configuration memory; and
(c) записывают в память конфигурации ассоциацию типа файла с инструментальным средством выбора.(c) write the association of the file type with the selection tool in the configuration memory.
31. Способ по п.30, в котором на этапе (а) также перехватывают запрос механизмом прерывания в пользовательском режиме или механизмом прерывания в режиме ядра, или драйвером фильтра файловой системы, или мини-драйвером.31. The method according to clause 30, in which at the stage (a) also intercept the request by the interrupt mechanism in user mode or the interrupt mechanism in kernel mode, or a file system filter driver, or a mini-driver.
32. Способ по п.30, в котором запрос содержит обновление записи об ассоциации файлового типа в памяти конфигурации.32. The method according to claim 30, wherein the request comprises updating a file type association entry in the configuration memory.
33. Способ по п.30, в котором запрос содержит создание новой записи об ассоциации файлового типа в памяти конфигурации.33. The method of claim 30, wherein the request comprises creating a new file type association entry in the configuration memory.
34. Способ по п.30, в котором инструментальное средство выбора предоставляет пользователю интерфейс со списком по меньшей мере одной прикладной программы для получения доступа к файлу, ассоциированному с указанным файловым типом.34. The method according to clause 30, in which the selection tool provides the user with an interface with a list of at least one application program for accessing the file associated with the specified file type.
35. Способ по п.30, в котором также ассоциируют указанную прикладную программу с файловым типом в памяти конфигурации инструментального средства выбора.35. The method according to clause 30, which also associate the specified application program with a file type in the configuration memory of the selection tool.
36. Способ по п.35, в котором память конфигурации содержит память конфигурации инструментального средства выбора.36. The method according to clause 35, in which the configuration memory contains the configuration memory of the selection tool.
37. Способ по п.30, в котором память конфигурации содержит базу данных реестра.37. The method of claim 30, wherein the configuration memory comprises a registry database.
38. Способ по п.30, в котором также выбирают файл, ассоциированный с файловым типом, для запуска прикладной программы и запускают инструментальное средство выбора в ответ на выбор указанного файла.38. The method according to clause 30, in which also select the file associated with the file type, to run the application program and run the selection tool in response to the selection of the specified file.
39. Способ по п.30, в котором также инструментальное средство выбора предоставляет список по меньшей мере одной прикладной программы, ассоциированной с файловым типом.39. The method of claim 30, wherein the selection tool also provides a list of at least one application program associated with the file type.
40. Способ по п.30, в котором также инструментальным средством выбора запускают выбранную прикладную программу в области действия системы или изолирующей области действия приложения, или изолирующей области действия пользователя.40. The method according to clause 30, in which also the selection tool launches the selected application program in the scope of the system or the isolation area of the application, or the isolation area of the user.
41. Способ по п.30, в котором прикладную программу или файл, или память конфигурации, или инструментальное средство выбора ассоциируют с областью действия системы, изолирующей областью действия приложения или изолирующей областью действия пользователя в рамках изолирующей среды.41. The method according to clause 30, in which the application program or file, or configuration memory, or selection tool is associated with the scope of the system, the isolation area of the application or the isolation area of the user within the isolation environment.
42. Способ по п.30, в котором инструментальное средство выбора по умолчанию является прикладной программой, ассоциированной с указанным файловым типом.42. The method of claim 30, wherein the default selection tool is an application associated with the specified file type.
43. Способ по п.30, в котором также ассоциируют второй файловый тип с указанным инструментальным средством выбора в памяти конфигурации.43. The method of claim 30, wherein the second file type is also associated with said selection tool in the configuration memory.
44. Способ запуска прикладной программы, ассоциированной с файловым типом, согласно которому44. A method of starting an application associated with a file type, according to which
(a) выбирают файл, ассоциированный с файловым типом, для запуска прикладной программы;(a) selecting a file associated with the file type to start the application;
(b) в ответ на выбор файла получают ссылку на инструментальное средство выбора, ассоциированное с этим файловым типом, из памяти конфигурации, которая содержит информацию об ассоциации файловых типов;(b) in response to the selection of the file, a link to the selection tool associated with this file type is obtained from the configuration memory that contains file type association information;
(с) в ответ на выбор файла запускают указанное инструментальное средство выбора, которое отображает список, состоящий по меньшей мере из одной прикладной программы для доступа к выбранному файлу.(c) in response to a file selection, the specified selection tool is launched, which displays a list consisting of at least one application program for accessing the selected file.
45. Способ по п.44, в котором на этапе (а) также выбирают файл для запуска прикладной программы путем нажатия указателем средства ввода данных в компьютер на иконку файла по меньшей мере один раз.45. The method according to item 44, in which, at step (a), a file is also selected for launching the application program by clicking on the file icon at least once with the pointer of the data input means into the computer.
46. Способ по п.44, в котором на этапе (b) также получают список, состоящий по меньшей мере из одной прикладной программы, ассоциированной с файловым типом выбранного файла, из памяти конфигурации инструментального средства выбора.46. The method according to item 44, in which at step (b) also receive a list consisting of at least one application program associated with the file type of the selected file from the configuration memory of the selection tool.
47. Способ по п.46, в котором на этапе (b) инструментальное средство выбора также отображает по меньшей мере одну прикладную программу, ассоциированную с файловым типом, полученного из содержимого памяти конфигурации инструментального средства выбора.47. The method of claim 46, wherein in step (b), the selection tool also displays at least one application program associated with a file type obtained from the contents of the configuration memory of the selection tool.
48. Способ по п.46, в котором память конфигурации содержит память конфигурации инструментального средства выбора.48. The method according to item 46, in which the configuration memory contains the configuration memory of the selection tool.
49. Способ по п.44, в котором память конфигурации содержит базу данных реестра.49. The method according to item 44, in which the configuration memory contains a registry database.
50. Способ по п.44, в котором также запускают прикладную программу, выбранную из списка, отображенного инструментальным средством выбора.50. The method according to item 44, which also launches an application program selected from the list displayed by the selection tool.
51. Способ по п.50, в которой также запускают выбранную прикладную программу в области действия системы или изолирующей области действия приложения, или изолирующей области действия пользователя.51. The method according to item 50, in which they also run the selected application program in the scope of the system or the isolation area of the application, or the isolation area of the user.
52. Способ по п.44, в котором прикладная программа, или файл, или память конфигурации, или инструментальное средство выбора ассоциирована или ассоциирован, или ассоциировано с областью действия системы, или изолирующей областью действия приложения, или изолирующей областью действия пользователя в рамках изолирующей среды.52. The method according to item 44, in which the application program, or file, or configuration memory, or a selection tool is associated with or associated with the system scope, or the isolating scope of the application, or the isolating scope of the user within the isolation environment .
53. Способ по п.44, в котором инструментальное средство выбора по умолчанию является прикладной программой, ассоциированной с файловым типом в памяти конфигурации.53. The method according to item 44, in which the default selection tool is an application associated with a file type in the configuration memory.
54. Система запуска программы, ассоциированной с файловым типом, содержащая54. A system for launching a program associated with a file type, comprising
(a) редиректор, получающий запрос на сохранение информации об ассоциации файлового типа в памяти конфигурации и определяющий исходя из этого запроса, какой файловый тип должен быть ассоциирован с прикладной программой в памяти конфигурации;(a) a redirector receiving a request to store file type association information in the configuration memory and, based on this request, determining which file type should be associated with the application in the configuration memory;
(b) инструментальное средство выбора, сконфигурированное для обеспечения выбора по меньшей мере одной прикладной программы для запуска с доступом к файлу, ассоциированному с указанным файловым типом; причем(b) a selection tool configured to select at least one application program to run with access to a file associated with the specified file type; moreover
(c) указанный редиректор записывает в указанную память конфигурации информацию об ассоциации указанного файлового типа с указанным инструментальным средством выбора.(c) the specified redirector writes to the specified configuration memory information about the association of the specified file type with the specified selection tool.
55. Система по п.54, в которой редиректор для перехвата запроса содержит механизм прерывания в пользовательском режиме или механизм прерывания режиме ядра, или драйвер-фильтр файловой системы, или мини-драйвер.55. The system of claim 54, wherein the redirector for intercepting a request comprises a user mode interrupt mechanism or kernel mode interrupt mechanism, or a file system driver-filter, or a mini-driver.
56. Система по п.54, в которой инструментальное средство выбора содержит пользовательский интерфейс для отображения меню выбора по меньшей мере одной прикладной программы.56. The system of claim 54, wherein the selection tool comprises a user interface for displaying a selection menu of at least one application program.
57. Система по п.54, содержащая память конфигурации инструментального средства выбора для хранения записи об ассоциации файлового типа с прикладной программой из запроса.57. The system of claim 54, comprising a configuration tool configuration memory for storing a file type association record with the application program from the request.
58. Система по п.57, в которой редиректор инициирует ввод записи в память конфигурации инструментального средства выбора.58. The system of claim 57, wherein the redirector initiates an entry in the configuration memory of the selection tool.
59. Система по п.57, в которой память конфигурации содержит память конфигурации инструментального средства выбора.59. The system of claim 57, wherein the configuration memory comprises a configuration memory of a selection tool.
60. Система по п.54, в которой память конфигурации содержит базу данных реестра.60. The system of claim 54, wherein the configuration memory contains a registry database.
61. Система по п.57, в которой инструментальное средство выбора отображает по меньшей мере одну прикладную программу, ассоциированную с файловым типом, полученным из памяти конфигурации инструментального средства выбора.61. The system of claim 57, wherein the selection tool displays at least one application program associated with a file type obtained from the configuration memory of the selection tool.
62. Система по п.54, в которой инструментальное средство выбора запускает прикладную программу, выбранную из этого списка.62. The system of claim 54, wherein the selection tool launches an application selected from this list.
63. Система по п.54, содержащая изолирующую среду для изолирования доступа прикладной программы к собственным ресурсам, предоставляемым операционной системой.63. The system of claim 54, comprising an isolation environment for isolating an application’s access to its own resources provided by the operating system.
64. Система по п.63, в которой изолирующая среда содержит область действия системы или изолирующую область действия приложения, или изолирующую область действия пользователя.64. The system according to item 63, in which the insulating medium contains the scope of the system or the insulating scope of the application, or the insulating scope of the user.
65. Система по п.64, в которой область действия системы, или изолирующая область действия приложения, или изолирующая область действия пользователя содержит прикладную программу или файл, или память конфигурации, или инструментальное средство выбора.65. The system of claim 64, wherein the system scope, or the isolation area of the application, or the isolation area of the user contains the application program or file, or configuration memory, or selection tool.
66. Система по п.64, в которой инструментальное средство выбора запускает выбранную прикладную программу в области действия системы, или изолирующей области действия приложения, или изолирующей области действия пользователя.66. The system of claim 64, wherein the selection tool launches the selected application in a system scope, or an isolation area of an application, or an isolation area of a user.