Claims (84)
1. Способ доступа к ресурсам, предоставляемым операционной системой, согласно которому1. The way to access resources provided by the operating system, according to which
(a) получают прикладной программой, выполняемой в первой среде, запрос на ресурс;(a) receive, by an application running in the first environment, a resource request;
(b) получают первый идентификатор, ассоциированный с указанным ресурсом;(b) receive the first identifier associated with the specified resource;
(c) определяют второй идентификатор, относящийся к указанному запрашиваемому ресурсу и к среде запуска, в которой ресурс запускают;(c) determining a second identifier relating to the indicated requested resource and to the launch environment in which the resource is launched;
(d) перенаправляют указанный запрос на ресурс к идентифицированному экземпляру указанного ресурса, соответствующему второму идентификатору; и(d) redirecting said resource request to an identified instance of said resource corresponding to a second identifier; and
(e) отвечают на указанный запрос на ресурс с использованием экземпляра ресурса, размещенного внутри среды, в которой указанный ресурс находится.(e) respond to the specified request for the resource using an instance of the resource located inside the environment in which the specified resource is located.
2. Способ по п.1, в котором на этапе (а), кроме того, прикладной программой используют СОМ-библиотеку.2. The method according to claim 1, in which at the stage (a), in addition, the application program uses the COM library.
3. Способ по п.1, в котором на этапе (а) прикладной программой, выполняемой в среде, выполняют запрос на ресурс.3. The method according to claim 1, in which at step (a) an application program running in the environment, perform a request for a resource.
4. Способ по п.1, в котором на этапе (е) также подвергают обработке внепроцессный СОМ-сервер.4. The method according to claim 1, wherein in step (e), the out-of-process COM server is also processed.
5. Способ по п.1, в котором на этапе (b) также перехватывают первый идентификатор, ассоциированный с этим ресурсом.5. The method according to claim 1, wherein in step (b), the first identifier associated with this resource is also intercepted.
6. Способ по п.1, в котором на этапе (b) также получают первый идентификатор, реагирующий на прерванный СОМ API.6. The method according to claim 1, in which at step (b) also receive the first identifier that responds to the interrupted COM API.
7. Способ по п.1, в котором на этапе (b) также прерывают CoCreatelnstance СОМ API.7. The method according to claim 1, wherein in step (b), the CoCreatelnstance COM API is also interrupted.
8. Способ по п.1, в котором на этапе (b) также прерывают CoCreatelnstanceEx СОМ API.8. The method according to claim 1, wherein in step (b), the CoCreatelnstanceEx COM API is also interrupted.
9. Способ по п.1, в котором на этапе (b) также прерывают CoGetClassObject СОМ API9. The method according to claim 1, in which in step (b) the CoGetClassObject COM API is also interrupted
10. Способ по п.1, в котором на этапе (b) также прерывают CoGetlnstanceFromFile СОМ API.10. The method according to claim 1, wherein in step (b), the CoGetlnstanceFromFile COM API is also interrupted.
11. Способ по п.1, в котором на этапе (b) также прерывают CoGetlnstanceFromlStorage СОМ API11. The method according to claim 1, in which at step (b) also terminate CoGetlnstanceFromlStorage COM API
12. Способ по п.1, в котором на этапе (b) также прерывают CoRegisterClassObject СОМ API.12. The method according to claim 1, wherein in step (b), the CoRegisterClassObject COM API is also interrupted.
13. Способ по п.1, в котором на этапе (с) также выполняют детерминированный алгоритм установки соответствия.13. The method according to claim 1, in which at step (c) also perform a deterministic algorithm for establishing compliance.
14. Способ по п.1, в котором на этапе (с) также обращаются к карте соответствия.14. The method according to claim 1, in which at step (c) also refer to the map of compliance.
15. Способ по п.1, в котором на этапе (с) также обращаются к карте соответствия, ассоциированной с указанной средой.15. The method according to claim 1, in which at step (c) also refer to the map of conformity associated with the specified environment.
16. Способ по п.1, в котором на этапе (с) также обращаются к карте соответствия, ассоциированной со средой изолирования приложения.16. The method according to claim 1, in which at step (c) also refer to the map of conformity associated with the isolation environment of the application.
17. Способ по п.1, в котором на этапе (с) также сохраняют статическую копию второго идентификатора в карте соответствия.17. The method according to claim 1, wherein in step (c), a static copy of the second identifier is also stored in the correspondence map.
18. Способ по п.1, в котором на этапе (с) также получают второй идентификатор, который ассоциирован со средой запуска.18. The method according to claim 1, wherein in step (c), a second identifier is also obtained that is associated with the startup environment.
19. Способ по п.1, в котором на этапе (с) также получают из карты соответствия второй идентификатор, который идентифицирует экземпляр запрашиваемого ресурса в среде, в которой этот ресурс находится.19. The method according to claim 1, wherein in step (c), a second identifier is also obtained from the correspondence card, which identifies the instance of the requested resource in the environment in which this resource is located.
20. Способ по п.1, в котором также идентифицируют вторую среду, в которой находится указанный ресурс.20. The method according to claim 1, which also identify the second environment in which the specified resource is located.
21. Способ по п.1, в котором на этапе (е) также выполняют указанный ресурс.21. The method according to claim 1, in which at the stage (e) also perform the specified resource.
22. Способ по п.1, в котором на этапе (е) кроме того указанным экземпляром ресурса создают модификацию области отображения, ассоциированной с указанной прикладной программой.22. The method according to claim 1, in which at step (e) in addition, the specified instance of the resource creates a modification of the display area associated with the specified application program.
23. Система доступа к изолированным ресурсам, предоставляемым операционной системой, содержащая23. The system of access to isolated resources provided by the operating system, containing
ресурс;resource;
прикладную программу, выполняемую в среде и получающую запрос на указанный ресурс;an application program running in the environment and receiving a request for the specified resource;
ассоциацию между первым и вторым идентификаторами, ассоциированными с указанным ресурсом;an association between the first and second identifiers associated with the specified resource;
первый процесс, получающий от указанной ассоциации второй идентификатор, соответствующий первому идентификатору;a first process receiving a second identifier from the association corresponding to the first identifier;
второй процесс, идентифицирующий экземпляр указанного ресурса и среду, в которой указанный ресурс запускают; иa second process identifying an instance of the specified resource and the environment in which the specified resource is started; and
третий процесс, который перенаправляет указанный запрос на ресурс к указанному экземпляру ресурса, соответствующему второму идентификатору.the third process, which redirects the specified request to the resource to the specified resource instance corresponding to the second identifier.
24. Система по п.23, в которой первый процесс выполняется в указанной среде.24. The system of claim 23, wherein the first process runs in the specified environment.
25. Система по п.23, в которой первый процесс выполняется вне указанной среды.25. The system according to item 23, in which the first process is performed outside the specified environment.
26. Система по п.23, в которой первый процесс перехватывает первый идентификатор.26. The system of claim 23, wherein the first process intercepts the first identifier.
27. Система по п.23, в которой первый процесс также получает от ассоциации статически сгенерированный второй идентификатор.27. The system of claim 23, wherein the first process also receives a statically generated second identifier from the association.
28. Система по п.23, в которой первый процесс также получает от ассоциации динамически сгенерированный второй идентификатор.28. The system of claim 23, wherein the first process also receives a dynamically generated second identifier from the association.
29. Система по п.23, в которой первый процесс также передает второй идентификатор второму процессу.29. The system of claim 23, wherein the first process also transmits a second identifier to the second process.
30. Система по п.23, в которой первый процесс также передает второй идентификатор третьему процессу.30. The system of claim 23, wherein the first process also transmits a second identifier to the third process.
31. Система по п.23, в которой второй процесс выполняется в указанной среде.31. The system according to item 23, in which the second process is performed in the specified environment.
32. Система по п.23, в которой второй процесс выполняется вне указанной среды.32. The system according to item 23, in which the second process is performed outside the specified environment.
33. Система по п.23, в которой третий процесс выполняется в указанной среде.33. The system according to item 23, in which the third process is performed in the specified environment.
34. Система по п.23, в которой третий процесс выполняется вне указанной среды.34. The system according to item 23, in which the third process is performed outside the specified environment.
35. Система по п.23, в которой ресурс также содержит внепроцессный СОМ-сервер.35. The system of claim 23, wherein the resource also comprises an out-of-process COM server.
36. Система по п.23, в которой ресурс также содержит СОМ-сервер версии отличной от версии для второго ресурса, размещенного в указанной среде.36. The system according to item 23, in which the resource also contains a COM server version different from the version for the second resource located in the specified environment.
37. Система по п.23, в которой первый идентификатор ассоциирован с первым и вторым ресурсами.37. The system of claim 23, wherein the first identifier is associated with the first and second resources.
38. Система по п.23, в которой ресурс находится внутри указанной среды.38. The system according to item 23, in which the resource is inside the specified environment.
39. Система по п.23, в которой ресурс находится во второй среде.39. The system according to item 23, in which the resource is in the second environment.
40. Система по п.23, в которой ресурс находится в изолирующей среде приложения.40. The system according to item 23, in which the resource is in the isolation environment of the application.
41. Система по п.23, в которой ресурс также содержит по меньшей мере одну запись реестра в среде, в которой этот ресурс находится.41. The system according to item 23, in which the resource also contains at least one registry entry in the environment in which this resource is located.
42. Система по п.23, в которой прикладная программа выполняется в изолирующей среде приложения.42. The system of claim 23, wherein the application program is executed in an application isolation environment.
43. Система по п.23, в которой прикладная программа выполняется в среде, которая ассоциирована с изолирующей средой приложения.43. The system according to item 23, in which the application program runs in an environment that is associated with the isolation environment of the application.
44. Система по п.23, в которой прикладная программа, выполняемая в указанной среде, также выполняет запрос на указанный ресурс.44. The system according to item 23, in which the application program running in the specified environment also performs a request for the specified resource.
45. Система по п.23, в которой прикладная программа выполняет запрос на ресурс.45. The system according to item 23, in which the application program performs a request for a resource.
46. Система по п.23, в которой ассоциация также переводит соответствие с идентификатора класса, который идентифицирует по меньшей мере один СОМ-сервер и изолирующую среду приложения, ассоциированную с указанной прикладной программой, на динамически генерируемый идентификатор класса.46. The system of claim 23, wherein the association also translates the correspondence from a class identifier that identifies at least one COM server and application isolation environment associated with said application program to a dynamically generated class identifier.
47. Система по п.23, в которой первый идентификатор также идентифицирует по меньшей мере один СОМ-сервер.47. The system of claim 23, wherein the first identifier also identifies at least one COM server.
48. Система по п.23, в которой какой-либо процесс также содержит дополнительный код, выполняемый в указанной прикладной программе.48. The system according to item 23, in which any process also contains additional code that runs in the specified application program.
49. Система по п.23, в которой первый и второй процессы содержат одинаковый процесс.49. The system of claim 23, wherein the first and second processes comprise the same process.
50. Система по п.23, в которой первый и третий процессы содержат одинаковый процесс.50. The system of claim 23, wherein the first and third processes comprise the same process.
51. Система по п.23, в которой первый, второй и третий процессы содержат одинаковый процесс.51. The system according to item 23, in which the first, second and third processes contain the same process.
52. Система по п.23, в которой второй и третий процессы включают один и тот же процесс.52. The system of claim 23, wherein the second and third processes include the same process.
53. Способ для доступа к ресурсам, предоставляемым операционной системой, согласно которому53. The method for accessing resources provided by the operating system, according to which
(а) получают прикладной программой, выполняемой в среде, запрос на ресурс;(a) receive an application program executed in the environment, a request for a resource;
(b) получают первый идентификатор, ассоциированный с указанным ресурсом;(b) receive the first identifier associated with the specified resource;
(c) обращаются к реестру, соответствующему ассоциации между первым и вторым идентификаторами, ассоциированными с указанным ресурсом, которая ассоциирована с указанной средой;(c) refer to the registry corresponding to the association between the first and second identifiers associated with the specified resource, which is associated with the specified environment;
(d) идентифицируют указанные ресурс и среду, в которой этот ресурс запускают, в соответствии с результатом обращения к указанному реестру;(d) identify the specified resource and the environment in which this resource is launched, in accordance with the result of accessing the specified registry;
(e) ассоциируют второй идентификатор с указанными ресурсом, с указанной средой и со средой, в которой указанный ресурс запускают;(e) associate the second identifier with the specified resource, with the specified environment and with the environment in which the specified resource is launched;
(f) сохраняют для указанного ресурса в указанном реестре реестровый ключ, который содержит второй идентификатор;(f) store for the specified resource in the specified registry a registry key that contains the second identifier;
(g) перенаправляют указанный запрос на ресурс идентифицированному экземпляру ресурса, соответствующему второму идентификатору;(g) redirecting said request for a resource to an identified resource instance corresponding to a second identifier;
(h) отвечают на указанный запрос на ресурс с использованием указанного экземпляра ресурса, размещенного в среде, в которой ресурс находится;(h) respond to the specified request for the resource using the specified instance of the resource located in the environment in which the resource is located;
и (i) запускают в соответствии со вторым ресурсом запрашиваемый ресурс в идентифицированной среде.and (i) start in accordance with the second resource the requested resource in the identified environment.
54. Способ по п.53, в котором на этапе (а) прикладной программой, выполняемой в среде, выполняют запрос на ресурс.54. The method according to item 53, in which at step (a) an application program executed in the environment, perform a request for a resource.
55. Способ по п.53, в котором на этапе (b) также получают первый идентификатор, соответствующий прерванному СОМ API.55. The method according to item 53, in which at step (b) also receive the first identifier corresponding to the interrupted COM API.
56. Способ по п.53, в котором на этапе (b) также прерывают CoCreatelnstanceEx СОМ API.56. The method according to item 53, in which at step (b) also terminate CoCreatelnstanceEx COM API.
57. Способ по п.53, в котором на этапе (b) также прерывают CoCreatelnstance СОМ API57. The method according to item 53, in which in step (b) also terminate CoCreatelnstance COM API
58. Способ по п.53, в котором на этапе (b) также прерывают CoGetClassObject СОМ API.58. The method of claim 53, wherein, in step (b), the CoGetClassObject COM API is also interrupted.
59. Способ по п.53, в котором на этапе (b) также прерывают CoGetlnstanceFromFile СОМ API.59. The method according to item 53, in which at step (b) also terminate CoGetlnstanceFromFile COM API.
60. Способ по п.53, в котором на этапе (b) также прерывают CoGetlnstanceFromlStorage СОМ API.60. The method according to item 53, in which at step (b) also terminate CoGetlnstanceFromlStorage COM API.
61. Способ по п.53, в котором также прерывают CoRegisterClassObject СОМ API.61. The method of claim 53, wherein the CoRegisterClassObject COM API is also interrupted.
62. Способ по п.53, в котором на этапе (с) также обращаются к реестру в среде, в которой прикладная программа размещена.62. The method of claim 53, wherein, in step (c), the registry is also accessed in the environment in which the application is located.
63. Способ по п.53, в котором на этапе (с) также обращаются ко второму реестру во второй среде.63. The method according to item 53, in which at step (c) also refer to the second registry in the second environment.
64. Способ по п.53, в котором на этапе (с) также обращаются к реестру в ответ на неполучение второго идентификатора из указанной ассоциации.64. The method according to item 53, in which at step (c) also contact the registry in response to the failure to obtain a second identifier from the specified association.
65. Способ по п.53, в котором на этапе (d) также идентифицируют вторую среду, в которой ресурс находится.65. The method according to item 53, in which at step (d) also identify the second environment in which the resource is located.
66. Способ по п.53, в котором на этапе (е) также ассоциируют в указанной ассоциации второй идентификатор с указанным ресурсом, с указанной средой, с указанной средой, в которой указанный ресурс запускают, и с описанием способа запуска указанного ресурса в среде.66. The method according to item 53, in which at step (e) the second identifier is also associated in the specified association with the specified resource, with the specified environment, with the specified environment in which the specified resource is started, and with a description of the method for starting the specified resource in the medium.
67. Способ по п.53, в котором на этапе (g) кроме того второй идентификатор передают второму процессу.67. The method according to item 53, in which at step (g) in addition, the second identifier is passed to the second process.
68. Способ по п.53, в котором на этапе (g) кроме того указанный второй процесс выполняет указанный ресурс.68. The method according to item 53, in which at step (g) in addition, the specified second process performs the specified resource.
69. Способ по п.53, в котором на этапе (g) кроме того с ресурсом взаимодействуют указанной прикладной программой.69. The method according to item 53, in which at step (g) in addition, the specified application program interacts with the resource.
70. Способ по п.53, в котором на этапе (g) кроме того ресурсом выполняют модификацию области отображения, ассоциированной с указанной прикладной программой.70. The method according to item 53, in which at step (g) in addition, the resource performs the modification of the display area associated with the specified application program.
71. Система доступа к ресурсам, предоставляемым операционной системой, содержащая71. A system for accessing resources provided by the operating system, comprising
ресурс;resource;
прикладную программу, выполняемую в среде и получающую запрос на указанный ресурс;an application program running in the environment and receiving a request for the specified resource;
ассоциацию между первым и вторым идентификаторами, ассоциированными с указанным ресурсом, которая ассоциирована с указанной средой;an association between the first and second identifiers associated with the specified resource, which is associated with the specified environment;
процесс прерывания,interruption process
получающий первый идентификатор, ассоциированный с указанным ресурсом;receiving the first identifier associated with the specified resource;
идентифицирующий указанный ресурс и среду, в которой его выполняют;identifying the specified resource and the environment in which it is performed;
сохраняющий в указанной ассоциации второй идентификатор;storing a second identifier in the specified association;
сохраняющий реестровый ключ для указанного ресурса; иpreserving the registry key for the specified resource; and
второй процесс, перенаправляющий указанному ресурсу запрос на него в соответствии с вторым идентификатором.the second process, redirecting the request to the specified resource in accordance with the second identifier.
72. Система по п.71, в которой ресурс также содержит СОМ-сервер.72. The system of claim 71, wherein the resource also comprises a COM server.
73. Система по п.71, в которой ресурс также содержит по меньшей мере одну запись реестра в среде, в которой ресурс находится.73. The system of claim 71, wherein the resource also contains at least one registry entry in the environment in which the resource is located.
74. Система по п.71, в которой ресурс находится во второй среде.74. The system of claim 71, wherein the resource is in a second environment.
75. Система по п.71, в которой прикладная программа также выполняется в изолирующей среде приложения.75. The system of claim 71, wherein the application program also runs in the application isolation environment.
76. Система по п.71, в которой прикладная программа также выполняется в среде, ассоциированной с изолирующей средой приложения.76. The system of claim 71, wherein the application program also runs in an environment associated with the application isolation environment.
77. Система по п.71, в которой прикладная программа, выполняемая в указанной среде, выполняет запрос на ресурс.77. The system of claim 71, wherein the application program running in the specified environment performs a resource request.
78. Система по п.71, в которой ассоциация также переводит соответствие с идентификатора класса, который идентифицирует по меньшей мере один СОМ-сервер и среду, в которой находится СОМ-клиент, на второй идентификатор класса.78. The system of claim 71, wherein the association also translates the correspondence from the class identifier, which identifies at least one COM server and the environment in which the COM client is located, to the second class identifier.
79. Система по п.71, в которой процесс прерывания также обращается к ассоциации в соответствии с первым идентификатором.79. The system of claim 71, wherein the interrupt process also refers to the association according to the first identifier.
80. Система по п.71, в которой процесс прерывания также определяет, в соответствии с результатом обращения к ассоциации, что необходимо обратиться к реестру в пределах среды.80. The system of claim 71, wherein the interrupt process also determines, in accordance with the result of contacting the association, that it is necessary to access the registry within the environment.
81. Система по п.71, в которой процесс прерывания также определяет в соответствии с результатом обращения к ассоциации, что необходимо обратиться к реестру в пределах изолирующей среды.81. The system of claim 71, wherein the interrupt process also determines, in accordance with the result of contacting the association, that it is necessary to access the registry within the isolation environment.
82. Система по п.71, в которой процесс прерывания также определяет, в соответствии с результатом обращения к ассоциации, что необходимо обратиться к реестру в пределах второй среды.82. The system of claim 71, wherein the interrupt process also determines, in accordance with the result of contacting the association, that it is necessary to access the registry within the second environment.
83. Система по п.71, в которой процесс прерывания также идентифицирует указанный ресурс и среду, в которой он находится, в соответствии с результатом обращения к реестру83. The system of claim 71, wherein the interrupt process also identifies the specified resource and the environment in which it resides, in accordance with the result of accessing the registry
84. Система по п.71, в которой процесс прерывания и второй процесс являются одинаковым процессом.84. The system of claim 71, wherein the interrupt process and the second process are the same process.