2011-10-09 13 views
5

Jak utworzyć potok nazwany w systemie Windows 8 z poziomem integralności AppContainer?Tworzenie potoków Windows 8

+0

Myślę, że szukasz http://stackoverflow.com/questions/18982221/is-there-a-way-to-create-a-named-pipe-from-an-appcontainer-bho-on- ie11 – EricLaw

Odpowiedz

4

Jak Pavel Minaev wspomniano w jednym z komentarzy do some answer nie ma nazwanych potoków w WinRT (dla aplikacji Metro, do zastosowań stacjonarnych rury są takie same jak w Windows 7):

Nazwane potoki aren” Na przykład nie istnieją pliki mapowane w pamięci. Istnieją gniazda (w tym gniazda serwerów), ale po podłączeniu do lokalnego hosta można połączyć się tylko z tą samą aplikacją.

Możesz być zainteresowany the WinRT API, w tym sockets.

+1

Jeśli gniazda pasują do Twoich potrzeb, konieczne jest dodanie opcji "Internet (Klient i serwer)" w pliku Package.appxmanifest. Kliknij go dwukrotnie i przejdź do zakładki Deklaracje. –

+0

To naprawdę nie jest odpowiedź, ponieważ pytanie dotyczyło "Windows 8 z AppContainer", a odpowiedź dotyczy "WinRT". Możliwe jest posiadanie aplikacji desktopowej na poziomie integralności AppContainer, a nazwane potoki są dostępne dla aplikacji desktopowych w Win8. Niestety, nie wiem, jak utworzyć potok, dostępny zarówno dla aplikacji o wysokiej integralności, jak i aplikacji "AppContainer" - "odmówiono dostępu", więc pytanie jest nadal otwarte. – Ezh

+1

@Ezh dziękuję za ważne i spierające się argumenty. Proszę podać własną odpowiedź, jeśli znajdziesz więcej informacji na ten temat. –

2

Mówiąc o WinRT - naprawdę nie można utworzyć nazwanego potoku.

Mówiąc o aplikacji pulpitu Windows 8 działającej na poziomie integralności AppContainer - można utworzyć potok nazwany za pomocą zwykłych funkcji WinAPI. Problem polega na tym, że domyślnie tylko aplikacje z tym samym identyfikatorem AppContainer miały do ​​niego dostęp (innymi słowy - tylko instancje własnej aplikacji). Ale w rzeczywistości, jeśli proces jest w obszarze wysokiego lub średniego poziomu integralności - z tego procesu można utworzyć potok i zmniejszyć jego poziom integralności, aby aplikacje z AppContainer mogły z niego korzystać.

Spójrz na próbce tutaj: http://msdn.microsoft.com/en-us/library/windows/desktop/hh448493(v=vs.85).aspx

Nawet więcej - od aplikacji pulpitu z poziomu wysokiej integralności można użyć dll zastrzyk wstrzyknąć Ci dll do aplikacji WinRT i ponownie - używać WinAPI stworzyć rur. W WinRT odradza się więc od projektu systemu operacyjnego, ale tylko z powodu braku interfejsów w WinRT.