2011-10-09 9 views
5

Come posso creare named pipe in Windows 8 con il livello di integrità di AppContainer?Creazione di pipe denominata Windows 8

+0

Penso che stiate cercando http://stackoverflow.com/questions/18982221/is-there-a---to-create-a-named-pipe-from-an-appcontainer-bho-on- ie11 – EricLaw

risposta

4

Come Pavel Minaev menzionato in uno dei commenti a some answer, non ci sono named pipe in WinRT (per le applicazioni Metro, per le applicazioni desktop tubi sono le stesse in Windows 7):

named pipe aren' per esempio, non ci sono file mappati in memoria. Ci sono prese (compresi gli zoccoli del server), ma quando ci si connette allo localhost, è possibile connettersi solo alla stessa app.

Potresti essere interessato a the WinRT API, incluso sockets.

+1

Se i socket soddisfano le proprie esigenze, è necessario aggiungere la funzionalità "Internet (client e server)" nel file Package.appxmanifest. Fai doppio clic e vai alla scheda Dichiarazioni. –

+0

Questa non è una risposta, perché la domanda riguardava "Windows 8 con AppContainer" e la risposta riguarda "WinRT". È possibile avere un'applicazione desktop nel livello di integrità di AppContainer e le pipe denominate sono disponibili per le applicazioni desktop in Win8. Sfortunatamente, non so come creare pipe, disponibile sia per l'applicazione ad alta integrità che per l'app "AppContainer": ho ricevuto "accesso negato", quindi la domanda è ancora aperta. – Ezh

+1

@Ezh grazie per un downvote valido e argomentato. Si prega di fornire la propria risposta se si trovano maggiori informazioni su questo. –

2

Parlando di WinRT, non è davvero possibile creare named pipe.

Parlando dell'applicazione desktop Windows 8 in esecuzione con il livello di integrità di AppContainer: è possibile creare named pipe tramite le normali funzioni WinAPI. Il problema è che per impostazione predefinita solo le applicazioni con lo stesso ID di AppContainer possono accedervi (in altre parole, solo le istanze della propria applicazione). Di fatto, se si ha un processo con livello di integrità alto o medio, da questo processo è possibile creare pipe e ridurre il suo livello di integrità, in modo che le applicazioni di AppContainer possano utilizzarlo.

Date un'occhiata a campione qui: http://msdn.microsoft.com/en-us/library/windows/desktop/hh448493(v=vs.85).aspx

Ancora più - da un'applicazione desktop con alto livello di integrità è possibile utilizzare dll injection per iniettare si DLL per applicazioni WinRT e ancora una volta - usa WinAPI per creare tubi. Quindi i pipe sono negati in WinRT non dal design del sistema operativo, ma solo dalla mancanza di interfacce in WinRT.