Deklarationen von App-Funktionen
Hinweis
Einige Informationen beziehen sich auf Vorabversionen, die vor der kommerziellen Freigabe grundlegend geändert werden können. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Für welche Arten von Apps gelten App-Funktionen?
Die meisten Szenarien für App-Funktionen sind nur für Apps mit Paketidentität relevant. Diese werden in einem AppContainer ausgeführt. Alle UWP-Apps erfüllen diese Kriterien; daher gelten Funktionen für sie. Sie können aber auch eine Desktop-App-Paketidentität angeben und sie als AppContainer-App konfigurieren. Funktionen gelten also auch für einige Desktop-Apps.
- Weitere Informationen zum Packen und zur Paketidentitätfinden Sie unter Bereitstellungsübersicht.
- Weitere Informationen zu AppContainer-Apps finden Sie unter AppContainer für Legacy-Apps.
Eine Desktop-App, die eine AppContainer-App ist, kann durch uap10:TrustLevel="appContainer"
in ihrem App-Paketmanifest identifiziert werden (weitere Informationen finden Sie unter Anwendung (Windows 10)). Vergleichbar damit verfügt eine Desktop-App mit mediumIL- (eine mittlere Integritätsebene) über uap10:TrustLevel="mediumIL"
. Medium IL-Apps, die auch als voll vertrauenswürdige Apps bezeichnet werden, werden nicht in einem AppContainer ausgeführt.
Die internetClient- und enterpriseAuthentication-Funktionen gewähren einer Anwendung die Möglichkeit, bestimmte Vorgänge auszuführen, die der Benutzer bereits ausführen kann. Dies sind also Beispiele für Funktionen, die nur für AppContainer-Apps gelten. Umgekehrt wird bereits eine Medium IL-App als Benutzer ausgeführt. daher kann eine App diese Vorgänge bereits ausführen, ohne dass diese Funktionen erforderlich sind.
Es gibt jedoch einige Szenarien, in denen auch eine Medium IL-App eine Funktion deklarieren sollte. Tatsächlich muss eine Medium-IL-App die eingeschränkte Funktion runFullTrust deklarieren. Und um Out-of-Process-COM-Server für die Kommunikation zwischen Prozessen (Inter-Process, Communication,IPC) zu registrieren, benötigt eine gepackte App runFullTrust. Dieses Feature wird als gepackte COM bezeichnet (weitere Informationen finden Sie im Blogbeitrag COM-Server- und OLE-Dokumentunterstützung für die Desktop-Brücke).
Informationen zu einem weiteren Szenario, das auch für Medium IL-Apps gilt, finden Sie unter Datenschutzrelevanten Funktionen in diesem Thema.
Sie können ermitteln, ob ihr App-Paketmanifest runFullTrust benötigt, indem Sie das Paket einfach erstellen. Makeappx.exe
überprüft das Schema, und wenn runFullTrust nicht deklariert ist, aber von etwas benötigt wird, wird Ihnen eine detaillierte Fehlermeldung einschließlich des Problems zusammen mit Zeilen- und Spaltennummern angezeigt.
Deklarieren von Funktionen
Wenn Sie auf bestimmte APIs oder Ressourcen (z. B. Bilder oder Musik) sowie auf Geräte (wie die Kamera oder das Mikrofon) zugreifen möchten, müssen Sie die passenden App-Funktionen im Paketmanifest Ihrer Windows-App deklarieren.
Sie können allgemeine Funktionen mit dem Manifest-Designer in Visual Studio deklarieren oder manuell hinzufügen. Weitere Informationen finden Sie unter Angeben von Funktionen in einem Paketmanifest. Wichtig: Wenn Kunden Ihre App über den Microsoft Store beziehen, werden sie über alle von der App deklarierten Funktionen informiert. Deklarieren Sie daher unbedingt nur die Funktionen, die Ihre App benötigt.
Datenschutzsensitive Funktionen
Eine sensitive Ressource ist eine Ressource, die auf die persönlichen Daten des Benutzers zugreifen kann oder ihn Geld kostet. Bei diesem Thema werden Funktionen, die Apps den Zugriff auf eine sensitive Ressource ermöglichen, durch ein Sternchen (*) neben der Spalte Funktionsszenario gekennzeichnet.
Datenschutzsensitive Funktionen signalisieren dem Betriebssystem (OS) – und dem Benutzer –, was die App tun möchte. Da es gut ist, dieses Signal an die Benutzer Ihrer App zu senden, empfehlen wir, datenschutzsensitive Funktionen auch für Medium IL-Apps zu deklarieren (wobei die Anwendungsidentität verwendet wird, um individuelle Datenschutz-Umschalter bereitzustellen). Auf diese Weise können diese Apps auf den Seiten mit den Datenschutzeinstellungen (verwaltet durch die Einstellungen-App unter Windows) verwaltet werden, sobald sie installiert sind; anstatt zu einem späteren Zeitpunkt, wenn sie auf datenschutzrelevante Ressourcen zugreifen.
Diese Datenschutzeinstellungen, lassen den Benutzer den Zugriff auf sensitive Ressourcen dynamisch steuern. Daher ist es wichtig, dass Ihre App nicht davon ausgeht, dass eine sensitive Ressource immer verfügbar ist. Weitere Informationen zum Zugriff auf vertrauliche Ressourcen finden Sie unter Sicherheit.
Verschiedene Arten von Funktionen
Es gibt mehrere Arten von Funktionen.
- Funktionen zur allgemeinen Verwendung: gelten für die meisten allgemeinen App-Szenarien.
- Gerätefunktionen: ermöglichen Ihrer App den Zugriff auf interne und Peripheriegeräte.
- Eingeschränkte Funktionen, die eine Genehmigung für die Übermittlung an den Microsoft Store erfordern und/oder in der Regel nur für Microsoft und bestimmte Partner verfügbar sind.
- Benutzerdefinierte Funktionen.
Funktionen zur allgemeinen Verwendung
Funktionen zur allgemeinen Verwendung werden mit Capability-Elementen in deinem App-Paketmanifest angegeben. Diese Funktionen gelten für die meisten allgemeinen App-Szenarien.
Hinweis
Alle Capability-Elemente müssen vor allen CustomCapability- und DeviceCapability-Elementen unter dem Capabilities-Knoten im Paketmanifest stehen.
Funktionsszenario | Funktionsnutzung |
---|---|
Musik* | Die Funktion musicLibrary stellt programmgesteuerten Zugriff auf die Musik-Bibliothek des Benutzers bereit und ermöglicht es der App, alle Dateien in der Bibliothek ohne Benutzerinteraktion aufzulisten und darauf zuzugreifen. Diese Funktion wird in der Regel in Jukebox-Apps verwendet, die die gesamte Musikbibliothek nutzen. Die Dateiauswahl bietet einen stabilen UI-Mechanismus, mit dem Benutzer Dateien zur Verwendung mit einer App öffnen können. Deklarieren Sie die musicLibrary-Funktion nur, wenn die Szenarien für Ihre App programmgesteuerten Zugriff erfordern und nicht mithilfe der Dateiauswahl verwirklicht werden können. Die musicLibrary-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="musicLibrary"/></Capabilities> |
Bilder* | Die Funktion picturesLibrary stellt programmgesteuerten Zugriff auf die Bilder-Bibliothek des Benutzers bereit und ermöglicht es der App, alle Dateien in der Bibliothek ohne Benutzerinteraktion aufzulisten und darauf zuzugreifen. Diese Funktion wird in der Regel in Foto-Apps verwendet, die die gesamte Bildbibliothek nutzen. Die Dateiauswahl bietet einen stabilen UI-Mechanismus, mit dem Benutzer Dateien zur Verwendung mit einer App öffnen können. Deklarieren Sie die picturesLibrary-Funktion nur, wenn die Szenarien für Ihre App programmgesteuerten Zugriff erfordern und nicht mithilfe der Dateiauswahl verwirklicht werden können. Die picturesLibrary-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="picturesLibrary"/></Capabilities> |
Videos* | Die videosLibrary-Funktion bietet programmgesteuerten Zugriff auf die Videos des Benutzers, wodurch die App alle Dateien in der Bibliothek auflisten und ohne Eingreifen des Benutzers darauf zugreifen kann. Diese Funktion wird in der Regel in Filmwiedergabe-Apps verwendet, die die gesamte Videobibliothek nutzen. Die Dateiauswahl bietet einen stabilen UI-Mechanismus, mit dem Benutzer Dateien zur Verwendung mit einer App öffnen können. Deklarieren Sie die videosLibrary-Funktion nur, wenn die Szenarien für Ihre App programmgesteuerten Zugriff erfordern und nicht mithilfe der Dateiauswahl verwirklicht werden können. Die videosLibrary-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="videosLibrary"/></Capabilities> |
Wechselmedien | Die removableStorage-Funktion bietet programmgesteuerten Zugriff auf Dateien auf Wechselmedien (wie etwa USB-Sticks und externe Festplatten) – gefiltert nach den im Paketmanifest deklarierten Dateitypzuordnungen. Wenn zum Beispiel eine Dokumentlese-App eine DOC-Dateitypzuordnung deklariert, kann die App DOC-Dateien auf dem Wechselmedium öffnen, aber keine anderen Dateitypen. Gehen Sie beim Deklarieren dieser Funktion mit Bedacht vor: Benutzer speichern eine Vielzahl von Informationen auf ihren Wechselmedien und erwarten möglicherweise von der App eine stichhaltige Begründung für den programmgesteuerten Zugriff auf sämtliche Dateien des deklarierten Dateityps. Benutzer erwarten, dass die App alle von Ihnen deklarierten Dateizuordnungen verarbeitet. Deklarieren Sie daher keine Dateizuordnungen, die von der App nicht entsprechend verarbeitet werden können. Die Dateiauswahl bietet einen stabilen UI-Mechanismus, mit dem Benutzer Dateien zur Verwendung mit einer App öffnen können. Deklarieren Sie die removableStorage -Funktion nur, wenn die Szenarien für Ihre App programmgesteuerten Zugriff erfordern und nicht mithilfe der Dateiauswahl verwirklicht werden können. Die removableStorage-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="removableStorage"/></Capabilities> |
Internet und öffentliche Netzwerke* | Es gibt zwei Funktionen, die verschiedene Zugriffsebenen für das Internet und öffentliche Netzwerke bereitstellen. Die internetClient-Funktion gibt an, dass Apps eingehende Daten aus dem Internet empfangen können. Kann nicht als Server fungieren Kein Zugriff auf das lokale Netzwerk Die internetClientServer-Funktion gibt an, dass Apps eingehende Daten aus dem Internet empfangen können. Kann als Server fungieren Kein Zugriff auf das lokale Netzwerk Die meisten Apps mit einer Webdienstkomponente nutzen internetClient. Apps, die Peer-zu-Peer (P2P)-Szenarien ermöglichen, in denen die App auf eingehende Netzwerkverbindungen lauschen muss, sollten internetClientServer verwenden. Die internetClientServer-Funktion enthält den Zugriff, den die internetClient-Funktion bereitstellt. Sie müssen also internetClient nicht angeben, wenn Sie internetClientServer festlegen. |
Heim- und Firmennetzwerke* | Die privateNetworkClientServer-Funktion bietet eingehenden und ausgehenden Zugriff auf Heim- und Firmennetzwerke durch die Firewall. Diese Funktion wird üblicherweise für Spiele verwendet, die über das lokale Netzwerk (Local Area Network, LAN) kommunizieren, sowie für Apps, die Daten für mehrere lokale Geräte freigeben. Wenn Ihre App musicLibrary, picturesLibrary, oder videosLibrary angibt, müssen Sie diese Funktion nicht für den Zugriff auf die entsprechende Bibliothek in einer Heimnetzgruppe verwenden. Unter Windows ermöglicht diese Funktion keinen Zugriff auf das Internet. |
Termine | Die Funktion appointments ermöglicht den Zugriff auf den Terminspeicher des Benutzers. Diese Funktion ermöglicht den Lesezugriff auf Termine, die aus den synchronisierten Netzwerkkonten abgerufen werden, sowie auf andere Apps, die in den Terminspeicher schreiben. Mit dieser Funktion kann Ihre App neue Kalender erstellen und Termine in von ihr erstellte Kalender schreiben. Die appointments-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="appointments"/></Capabilities> |
Kontakte* | Die contacts-Funktion ermöglicht den Zugriff auf die aggregierte Ansicht der Kontakte aus verschiedenen Kontaktspeichern. Mit dieser Funktion erhält die App eingeschränkten Zugriff (dabei gelten Regeln für Netzwerkberechtigungen) auf Kontakte, die mit verschiedenen Netzwerken synchronisiert wurden, und auf den lokalen Kontaktspeicher. Die contacts-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="contacts"/></Capabilities> |
Codegenerierung | Die codeGeneration-Funktion ermöglicht Apps den Zugriff auf die folgenden Funktionen, die JIT-Funktionen für Apps bereitstellen. VirtualProtectFromApp CreateFileMappingFromApp OpenFileMappingFromApp MapViewOfFileFromApp |
AllJoyn | Durch die allJoyn-Funktion können sich AllJoyn-fähige Apps und Geräte in einem Netzwerk gegenseitig erkennen und miteinander interagieren. Alle Apps, die auf APIs im Windows.Devices.AllJoyn-Namespace zugreifen, müssen diese Funktion verwenden. |
Telefonanrufe | Die phoneCall-Funktion ermöglicht Apps den Zugriff auf alle Telefonleitungen des Geräts sowie das Ausführen der folgenden Aktionen:
<Capabilities><uap:Capability Name="phoneCall"/></Capabilities> Die phoneCallHistoryPublic-Funktion bietet Apps die Möglichkeit, Verlaufsinformationen zu Mobilfunkanrufen und einigen VoIP-Anrufen auf dem Gerät zu lesen. Diese Funktion ermöglicht der App auch das Schreiben von Einträgen im VoIP-Anrufverlauf. Sie ist für den Zugriff auf alle Member der PhoneCallHistoryStore-Klasse erforderlich. |
Ordner „Aufgezeichnete Anrufe“* | Die recordedCallsFolder-Gerätefunktion ermöglicht Apps den Zugriff auf den Ordner mit aufgezeichneten Anrufen. Die recordedCallsFolder-Funktion muss den mobile-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><mobile:Capability Name="recordedCallsFolder"/></Capabilities> |
Benutzerkontoinformationen* | Die userAccountInformation-Funktion ermöglicht Apps den Zugriff auf Name und Bild des Benutzers. Diese Funktion ist für den Zugriff auf einige APIs im Windows.System.UserProfile-Namespace erforderlich. Die userAccountInformation-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="userAccountInformation"/></Capabilities> |
VoIP-Anruf | Die voipCall-Gerätefunktion ermöglicht Apps den Zugriff auf die VoIP-Anruf-APIs im Windows.ApplicationModel.Calls-Namespace. Die voipCall-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="voipCall"/></Capabilities> |
3D-Objekte | Die objects3D-Funktion ermöglicht Apps den programmgesteuerten Zugriff auf die 3D-Objektdateien. Diese Funktion wird in der Regel in 3D-Apps und -Spielen verwendet, die auf die gesamte 3D-Objektbibliothek zugreifen müssen. Diese Funktion ist für das Zugreifen auf den Ordner mit den 3D-Objekten erforderlich, indem die APIs im Windows.Storage-Namespace verwendet werden. Die objects3D-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="objects3D"/></Capabilities> |
Chatnachrichtzugriff* | Die chat-Funktion ermöglicht Apps das Lesen und Löschen von SMS- und MMS-Nachrichten. Ermöglicht Apps darüber hinaus das Speichern von Nachrichten im Systemdatenspeicher. Diese Funktion wird für den Zugriff auf Nachrichten benötigt, indem APIs im Windows.ApplicationModel.Chat-Namespace verwendet werden. Die chat-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="chat"/></Capabilities> |
Blockierte Nachrichten lesen* | Die blockedChatMessages-Funktion ermöglicht Apps das Lesen von SMS- und MMS-Nachrichten, die von der Spamfilter-App blockiert wurden. Diese Funktion wird für den Zugriff auf die blockierten Nachrichten benötigt, indem APIs im Windows.ApplicationModel.Chat-Namespace verwendet werden. Die blockedChatMessages-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="blockedChatMessages"/></Capabilities> |
Benutzerdefinierte Geräte | Die lowLevelDevices-Funktion ermöglicht Apps den Zugriff auf benutzerdefinierte Geräte, wenn eine Reihe zusätzlicher Anforderungen erfüllt ist. Diese Funktion sollte nicht mit der lowLevel-Gerätefunktion verwechselt werden, die den Zugriff auf GPIO-, I2C-, SPI- und PWM-Geräte ermöglicht. Wenn du einen benutzerdefinierten Treiber entwickelst, der eine Geräteschnittstelle bereitstellt, und ein Handle für dieses Gerät öffnen und IOCTLs senden möchten, musst du folgende Schritte ausführen:
|
IoT – Systemverwaltung | Die systemManagement-Funktion ermöglicht Apps, über grundlegende Berechtigungen zur Systemadministration zu verfügen, z. B. Herunterfahren oder Neustarten, Gebietsschema und Zeitzone. Diese Funktion wird für den Zugriff auf einige APIs aus dem Windows.System-Namespace benötigt. Die systemManagement-Funktion muss den iot-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><iot:Capability Name="systemManagement"/></Capabilities> |
Medienwiedergabe im Hintergrund | Mit der Funktion backgroundMediaPlayback ändert sich das Verhalten der medienspezifischen APIs, z. B. der Klassen MediaPlayer und AudioGraph, um die Medienwiedergabe zu ermöglichen, während sich die App im Hintergrund befindet. Alle aktiven Audiostreams sind nun nicht mehr stummgeschaltet, sondern weiterhin hörbar, wenn eine App in den Hintergrund wechselt. Außerdem wird die App-Lebensdauer automatisch verlängert, während die Wiedergabe erfolgt. |
Remotesystem | Mit der Funktion remoteSystem haben Apps Zugriff auf eine Liste mit Geräten, die dem Microsoft-Konto des Benutzers zugeordnet sind. Der Zugriff auf die Geräteliste wird benötigt, um Vorgänge durchzuführen, die geräteübergreifend beibehalten werden. Diese Funktion ist für den Zugriff auf alle Member der folgenden Elemente erforderlich:
|
Räumliche Wahrnehmung | Die Funktion spatialPerception bietet programmgesteuerten Zugriff auf Spatial-Mapping-Daten und übergibt Mixed Reality-Apps Informationen zu Oberflächen in anwendungsspezifischen Regionen der Räumlichkeiten in der Nähe des Benutzers. Deklariere die SpatialPerception-Funktion nur dann, wenn deine App diese Surface-Gitter explizit verwendet, da die Funktion nicht für das holografische Rendern je nach Kopfpose des Benutzers in Mixed Reality-Apps erforderlich ist. |
Globales Medien-Steuerelement | Die globalMediaControl-Funktion ermöglicht Apps den Zugriff auf Wiedergabesitzungen im gesamten System, die in SystemMediaTransportControls integriert sind, um Wiedergabeinformationen bereitzustellen und die Remotesteuerung zuzulassen. Für diese Funktion sind einige APIs aus dem Windows.Media.Control-Namespace erforderlich. Diese Funktion wird im uap7:Capability-Element definiert. |
Grafikerfassung | Mit der Funktion GraphicsCapture können Apps Screenshots von Fenstern oder Anzeigen erstellen, wenn dies vom Benutzer zugelassen wird. Diese Funktion ist erforderlich, um das Objekt Windows.Graphics.Capture.GraphicsCapturePicker zu verwenden. Diese Funktion wird im Element uap6:Capability definiert. |
Randlose Grafikerfassung | Mit der Funktion GraphicsCaptureWithoutBorder können Apps randlose Screenshots im Fenster oder in der Anzeige erstellen. Diese Funktion ist erforderlich, um die Eigenschaft Windows.Graphics.Capture.GraphicsCaptureSession.IsBorderRequired zu verwenden. Diese Funktion wird im Element uap11:Capability definiert. |
Programmgesteuerte Grafikerfassung | Die Funktion graphicsCaptureProgrammatic ermöglicht Apps das eigenständige Erstellen von Screenshots verschiedener Fenster oder Anzeigen. Diese Funktion ist erforderlich, um ein Windows.Graphics.Capture.GraphicsCaptureItem-Objekt aus einem WindowId- oder DisplayId-Objekt zu erstellen. Diese Funktion wird im Element uap11:Capability definiert. |
Benutzerdatenaufgaben | Die Funktion userDataTasks bietet Zugriff auf APIs im Namespace Windows.ApplicationModel.UserDataTasks, die den Zugriff auf Aufgabenelemente ermöglichen, die in Windows über Exchange ActiveSync (EAS)-Verbindungen und andere Anbieter-Apps gespeichert wurden. |
Benutzerbenachrichtigungs-Listener | Die Funktion userNotificationListener bietet Zugriff auf APIs im Namespace Windows.UI.Notifications.Management, die die Verwaltung von Benutzerbenachrichtigungen ermöglichen. |
Gerätefunktionen
Gerätefunktionen ermöglichen Ihrer App den Zugriff auf Peripheriegeräte und interne Geräte. Gerätefunktionen werden mit dem DeviceCapability-Element in deinem App-Paketmanifest angegeben. Dieses Element erfordert unter Umständen zusätzliche untergeordnete Elemente. Einige Gerätefunktionen müssen dem Paketmanifest manuell hinzugefügt werden. Weitere Informationen finden Sie unter Angeben von Gerätefunktionen in einem Paketmanifest und Schemareferenz zu DeviceCapability.
Hinweis
Du kannst mehrere DeviceCapability-Elemente unter dem Capabilities-Element im Paketmanifest haben. Alle DeviceCapability-Elemente müssen nach allen Capability- und CustomCapability-Elementen stehen.
Funktionsszenario | Funktionsnutzung |
---|---|
Standort* | Die location-Funktion ermöglicht den Zugriff auf die Funktion für den Standort, der von spezieller Hardware wie einem GPS-Sensor im PC abgerufen oder aus verfügbaren Netzwerkinformationen abgeleitet wird. Apps müssen Fälle verarbeiten können, in denen Benutzer die Positionsdienste über den Charm Einstellungen deaktiviert haben. |
Mikrofon | Die Funktion microphone ermöglicht den Zugriff auf den Audiofeed des Mikrofons, mit dem die App über ein verbundenes Mikrofon Audio aufzeichnen kann. Apps müssen Fälle verarbeiten können, in denen Benutzer das Mikrofon über den Charm Einstellungen deaktiviert haben. |
Näherung | Die proximity-Funktion ermöglicht die Kommunikation mehrerer Geräte miteinander, die sich in der Nähe voneinander befinden. Diese Funktion ist typisch für Casual-Multiplayer-Spiele und Apps, die Informationen austauschen. Geräte versuchen, die Kommunikationstechnologie mit der besten Verbindung (wie Bluetooth, WLAN oder Internet) zu verwenden. Die Funktion dient lediglich dazu, die Kommunikation zwischen den Geräten zu initiieren. |
Webcam | Die webcam-Funktion bietet Zugriff auf den Videofeed einer integrierten Kamera oder einer externen Webcam, sodass die App Fotos und Videos aufnehmen kann. Unter Windows müssen Apps Fälle verarbeiten können, in denen Benutzer die Kamera über den Charm Einstellungen deaktiviert haben. Die webcam-Funktion gewährt nur Zugriff auf den Videostream. Um außerdem Zugriff auf den Audiostream zu erhalten, muss die microphone-Funktion hinzugefügt werden. |
USB | Die usb-Gerätefunktion ermöglicht den Zugriff auf APIs in Aktualisieren des App-Manifestpakets für ein USB-Gerät. |
Eingabegerät (Human Interface Device, HID) | Die humaninterfacedevice-Gerätefunktion ermöglicht den Zugriff auf APIs in So wird's gemacht: Angeben von Gerätefunktionen für HID. |
Point of Service (POS) | Die pointOfService-Gerätefunktion ermöglicht den Zugriff auf APIs im Windows.Devices.PointOfService-Namespace. Dieser Namespace bietet Ihrer App Zugriff auf Point of Service (POS)-Barcodescanner und -Magnetstreifenleser. Der Namespace stellt eine anbieterneutrale Oberfläche für den Zugriff auf POS-Geräte verschiedener Hersteller über eine UWP-App bereit. |
Bluetooth | Die Bluetooth-Gerätefunktion ermöglicht Apps die Kommunikation mit bereits gekoppelten Bluetooth-Geräten über das Generic Attribut (GATT)- oder Classic Basic Rate (RFCOMM)-Protokoll. Für diese Funktion sind einige APIs aus dem Windows.Devices.Bluetooth-Namespace erforderlich. |
WLAN | WICHTIG: Die wiFiControl-Gerätefunktion wird von bevorstehenden Änderungen am Betriebssystemverhalten beeinflusst, die im Herbst 2024 geplant sind. Weitere Informationen finden Sie unter Änderungen am API-Verhalten für WLAN-Zugriff und Standort. Die wiFiControl-Gerätefunktion ermöglicht Apps das Suchen nach WLANs sowie das Herstellen einer Verbindung. Für diese Funktion sind einige APIs aus dem Windows.Devices.WiFi-Namespace erforderlich. |
Funkstatus | Die radios-Gerätefunktion ermöglicht Apps das Umschalten zwischen WLAN- und Bluetooth-Funkempfängern. Für diese Funktion sind die APIs im Windows.Devices.Radios-Namespace erforderlich. |
Optischer Datenträger | Die optical-Gerätefunktion ermöglicht Apps den Zugriff auf Funktionen für optische Laufwerke (z. B. für CDs, DVDs und Blu-Rays). Für diese Funktion sind einige APIs aus dem Windows.Devices.Custom-Namespace erforderlich. |
Bewegungsaktivität | Mit der activity-Gerätefunktion können Apps die aktuelle Bewegung des Geräts erkennen. Für diese Funktion sind einige APIs aus dem Windows.Devices.Sensors-Namespace erforderlich. |
Anwesenheitserkennung | Die HumanPresence-Gerätefunktion ermöglicht Apps den Zugriff auf Anwesenheitssensoren auf dem Gerät, die Informationen zur Benutzerpräsenz und zum Engagement bereitstellen können. Für diese Funktion sind einige APIs aus dem Windows.Devices.Sensors-Namespace erforderlich. |
Serielle Kommunikation | Die serialcommunication-Gerätefunktion ermöglicht den Zugriff auf APIs im Namespace Windows.Devices.SerialCommunication. So kann eine Windows-App mit einem Gerät kommunizieren, das einen seriellen Anschluss oder eine Abstraktion eines seriellen Anschlusses verfügbar macht. Für diese Funktion sind die APIs im Windows.Devices.SerialCommnication-Namespace erforderlich. |
Eyetracker | Mit der gazeInput-Funktion können Apps erkennen, wo der Benutzer innerhalb der Anwendungsgrenzen hinschaut, wenn ein kompatibles Eyetracking-Gerät oder ein Mixed Reality-Gerät, das Blickverfolgung unterstützt, angeschlossen ist. Diese Funktion ist zur Verwendung einiger APIs aus dem Windows.Devices.Input.Preview-Namespace erforderlich. Bei Mixed Reality-Geräten ist diese Funktion für APIs in Windows.Perception.People.EyesPose erforderlich. |
GPIO, I2C, SPI und PWM | Die lowLevel-Gerätefunktion ermöglicht den Zugriff auf die GPIO-, I2C-, SPI- und PWM-Geräte. Diese Funktion wird für die Verwendung von APIs in folgenden Namespaces benötigt: Windows.Devices.Gpio, Windows.Devices.I2c, Windows.Devices.Spi,Windows.Devices.Pwm.<Capabilities><DeviceCapability Name="lowLevel"/></Capabilities> |
Eingeschränkte Funktionen
Wenn Ihre App eingeschränkte Funktionen deklariert, müssen Sie während der App-Übermittlung Informationen bereitstellen, um die Genehmigung zur Veröffentlichung Ihrer App im Microsoft Store zu erhalten. Diese Informationen, in denen erläutert wird, wie deine App die einzelnen eingeschränkten Funktionen verwendet, stellst du auf der Seite Übermittlungsoptionen der Übermittlung bereit.
Wichtig
Eingeschränkte Funktionen sind für sehr spezifische Szenarien vorgesehen. Die Verwendung dieser Funktionen ist stark eingeschränkt und unterliegt zusätzlichen Store-Onboarding-Richtlinien und -Prüfungen. Beachte, dass du Apps, die eingeschränkte Funktionen deklarieren, ohne Genehmigung querladen kannst. Eine Genehmigung ist nur erforderlich, wenn du diese Apps an den Store übermittelst.
Stelle sicher, dass diese eingeschränkten Funktionen nicht deklariert werden, es sei denn, deine App erfordert sie tatsächlich. Es gibt Fälle, in denen solche Funktionen notwendig und angemessen sind. Dazu gehört beispielsweise das Banking mit zweistufiger Authentifizierung, bei der Benutzer eine Smartcard mit einem digitalen Zertifikat bereitstellen, das ihre Identität bestätigt. Andere Apps werden unter Umständen in erster Linie für Unternehmenskunden entworfen und erfordern ggf. Zugriff auf Unternehmensressourcen, auf die nur mit den Domänenanmeldeinformationen des Benutzers zugegriffen werden kann.
Um eine eingeschränkte Funktion zu deklarieren, ändere die Quelldatei (Package.appxmanifest
) des App-Paketmanifests. Füge die xmlns:rescap-XML-Namespace-Deklaration hinzu, und verwende das rescap-Präfix, wenn du die eingeschränkte Funktion deklarierst. Hier siehst du z. B., wie die appCaptureSettings-Funktion deklariert wird.
<?xml version="1.0" encoding="utf-8"?>
<Package
...
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="... rescap">
...
<Capabilities>
<rescap:Capability Name="appCaptureSettings"/>
</Capabilities>
</Package>
Hinweis
Alle eingeschränkten Capability-Elemente müssen vor allen CustomCapability- und DeviceCapability-Elementen unter dem Capabilities-Knoten im Paketmanifest stehen.
Genehmigungsprozess für eingeschränkte Funktionen
Bisher musstest du den Support kontaktieren, um die Genehmigung zur Verwendung einer Funktion zu erhalten. Nun kannst du diese Informationen als Teil des Übermittlungsprozesses im Partner Center bereitstellen.
Wenn du für deine Übermittlung Pakete hochlädst, ermitteln wir, ob eingeschränkte Funktionen deklariert sind. In diesem Fall musst du auf der Übermittlungsoptionen-Seite Informationen darüber bereitstellen, wie dein Produkt die einzelnen Funktionen verwendet. Stelle so viele Informationen wie möglich bereit, die uns helfen zu verstehen, warum dein Produkt die Funktion deklarieren muss. Beachte, dass du dadurch möglicherweise etwas mehr Zeit für die Übermittlung benötigst, um den Zertifizierungsprozess abzuschließen.
Während des Zertifizierungsprozesses überprüfen unsere Tester die von dir bereitgestellten Informationen, um festzustellen, ob deine Übermittlung für die Verwendung der Funktion genehmigt wurde. Beachte, dass du dadurch möglicherweise etwas mehr Zeit für die Übermittlung benötigst, um den Zertifizierungsprozess abzuschließen. Wenn wir die Verwendung der Funktion genehmigen, wird deine App für den Rest des Zertifizierungsprozesses fortgesetzt. Im Allgemeinen musst du den Genehmigungsprozess für Funktionen nicht wiederholen, wenn du Updates für deine App übermittelst (es sei denn, du deklarierst zusätzliche Funktionen).
Wenn wir die Verwendung der Funktion nicht genehmigen, wird deine Übermittlung nicht zertifiziert, und wir geben ein Feedback im Zertifizierungsbericht. Du hast dann die Möglichkeit, eine neue Übermittlung zu erstellen und Pakete hochzuladen, die die Funktion nicht deklarieren oder gegebenenfalls alle Probleme im Zusammenhang mit der Verwendung der Funktion zu beheben und die Genehmigung in einer neuen Übermittlung anzufordern.
Hinweis
Wenn deine Übermittlung eine Sandbox für die Entwicklung im Partner Center verwendet (dies ist z. B. der Fall für alle Spiele, die mit Xbox Live integriert sind), musst du die Genehmigung im Voraus anfordern, anstatt Informationen auf der Übermittlungsoptionen-Seite bereitzustellen. Sie können im Voraus eine Genehmigung anfordern, wenn Sie ein Spiel auf Xbox über ID@Xbox oder als verwalteter Partner veröffentlichen. Wenden Sie sich hierzu an Ihr Microsoft-Kontoteam.
Beschreiben Sie dem Team kurz, wie Sie die Funktion verwenden und warum sie für Ihr Produkt erforderlich ist. Wenn Sie nicht alle erforderlichen Informationen angeben, wird die Anforderung abgelehnt. Unter Umständen werden Sie auch aufgefordert, weitere Informationen anzugeben. Beachte, dass dieser Vorgang in der Regel fünf Werktage oder länger dauert. Übermittle deine Anforderung daher bitte rechtzeitig.
Du kannst mit dieser Methode auch die Genehmigung anfordern (anstatt diese Informationen während der Übermittlung anzugeben), ob du eine Entwicklungssandbox verwendest, oder ob du gern die Bestätigung der Genehmigung zum Verwenden einer eingeschränkten Funktion hättest, bevor du mit der Übermittlung beginnst.
Liste eingeschränkter Funktionen
In der folgenden Tabelle sind die eingeschränkten Funktionen aufgelistet. Du kannst mit dem oben beschriebenen Vorgang eine Genehmigung für diese Funktionen in Apps, die du an den Store übermittelst, anfordern.
Wichtig
Einige dieser eingeschränkten Funktionen werden für Apps, die an den Store übermittelt werden, fast nie genehmigt, außer unter sehr speziellen und eingeschränkten Umständen. Diese Funktionen sind in der nachfolgenden Tabelle gekennzeichnet. Du solltest diese Funktionen in deiner App nicht deklarieren, wenn du sie über den Store verteilen möchtest.
Funktionsszenario | Funktionsnutzung |
---|---|
Enterprise | Windows-Domänenanmeldeinformationen ermöglichen es Benutzern, sich unter Angabe ihrer Anmeldeinformationen bei Remoteressourcen anzumelden und sich so zu verhalten, als ob ein Benutzer ihren Benutzernamen und ihr Kennwort eingegeben hätte. Die Funktion enterpriseAuthentication wird in der Regel in den Branchen-Apps verwendet, die innerhalb eines Unternehmens eine Verbindung mit den Servern herstellen. Für die allgemeine Kommunikation über das Internet wird diese Funktion nicht benötigt. Die Funktion enterpriseAuthentication ist zur Unterstützung allgemeiner Branchen-Apps vorgesehen. Deklarieren Sie sie nicht in Apps, die keinen Zugriff auf Unternehmensressourcen erfordern. Die Dateiauswahl bietet einen stabilen UI-Mechanismus, mit dem Benutzer Dateien auf einer Netzwerkfreigabe zur Verwendung mit einer App öffnen können. Deklariere die enterpriseAuthentication-Funktion nur, wenn die Szenarien für deine App programmgesteuerten Zugriff erfordern und nicht mithilfe der Dateiauswahl verwirklicht werden können. Die enterpriseAuthentication-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="enterpriseAuthentication"/></Capabilities> Diese Funktion wird zum Aufrufen der GetUserNameEx-Funktion benötigt. Die enterpriseDataPolicy-Funktion ermöglicht Apps, Unternehmensdaten separat und sicher zu verarbeiten, wenn die App mit der Windows Information Protection-Richtlinie verwaltet wird (z. B.: Verwaltung mobiler Geräte und Systeme für mobile Anwendungsverwaltung). Deklariere diese eingeschränkte Funktion wie unten gezeigt. <Capabilities><rescap:Capability Name="enterpriseDataPolicy"/></Capabilities> Diese Funktion ist zur Verwendung aller Member der folgenden Klassen erforderlich. |
Freigegebene Benutzerzertifikate | Mit der sharedUserCertificates-Funktion können Apps software- und hardwarebasierte Zertifikate im freigegebenen Benutzerspeicher, beispielsweise auf einer Smartcard gespeicherte Zertifikate, hinzufügen und darauf zugreifen. Diese Funktion wird typischerweise für Finanz- und Unternehmens-Apps verwendet, die eine Smartcard-basierte Authentifizierung erfordern. Die sharedUserCertificates-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="sharedUserCertificates"/></Capabilities> |
Dokumente* | Die documentsLibrary-Funktion ermöglicht den programmgesteuerten Zugriff auf die Dokumentbibliothek des Benutzers – eingeschränkt auf die im Paketmanifest deklarierten Dateitypzuordnungen. Wenn z. B. eine Textverarbeitungs-App eine DOC-Dateitypzuordnung deklariert, kann die App DOC-Dateien in der Dokumentbibliothek des Benutzers öffnen. Die Funktion documentsLibrary wird nur benötigt, wenn Ihre Anwendung programmatisch und ohne Benutzereingriff auf die Dokumentenbibliothek zugreift. Die Funktion documentsLibrary wird von Ihrer Anwendung für den Zugriff auf die Dokumentenbibliothek nicht benötigt, wenn der Benutzer sie mit einer Auswahl-API auswählt. Im Allgemeinen sollten Apps dem Benutzer ermöglichen, den Speicherort seiner Dateien mithilfe einer der folgenden Auswahl-APIs auszuwählen:
In Fällen, in denen vorhandene Workflows davon ausgehen, dass sich Dateien in der Dokumentbibliothek befinden (z. B. Interop mit einer vorhandenen Desktopanwendung), oder wenn du nicht möchtest, dass der Benutzer den Speicherort auswählen muss, kannst du die documentsLibrary-Funktion für deine Anwendung deklarieren. Wenn du die documentsLibrary-Funktion für deine Anwendung verwendest, solltest du auch die manuelle Auswahl des Speicherorts ermöglichen. Die documentsLibrary-Funktion muss den uap-Namespace enthalten, wenn sie im App-Paketmanifest wie unten dargestellt deklariert wird. <Capabilities><uap:Capability Name="documentsLibrary"/></Capabilities> |
Einstellungen für Game DVR | Die eingeschränkte appCaptureSettings-Funktion ermöglicht Apps die Steuerung der Benutzereinstellungen für Game DVR. Für diese Funktion sind einige APIs aus dem Windows.Media.Capture-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Mobilfunk | Die eingeschränkte cellularDeviceControl-Funktion ermöglicht Apps die Kontrolle über das Mobiltelefon. Die cellularDeviceIdentity-Funktion ermöglicht Apps den Zugriff auf Mobilfunkidentifikationsdaten. Die cellularMessaging-Funktion ermöglicht Apps die Nutzung von SMS und RCS. Für diese Funktionen sind einige APIs aus den Windows.Devices.Sms-Namespaces erforderlich. |
Geräteentsperrung | Die eingeschränkte deviceUnlock-Funktion ermöglicht Apps das Entsperren eines Geräts für Querladeszenarien für Entwickler und Unternehmen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Dual SIM-Kacheln | Die eingeschränkte dualSimTiles-Funktion ermöglicht Apps das Erstellen eines zusätzlichen App-Listeneintrags auf Geräten mit mehreren SIMs. Für diese Funktion sind einige APIs aus dem Windows.UI.StartScreen-Namespace erforderlich. |
Im Unternehmen freigegebener Speicher | Die eingeschränkte enterpriseDeviceLockdown-Funktion ermöglicht Apps die Verwendung der API zur Gerätesperrung und den Zugriff auf im Unternehmen freigegebene Speicherordner. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Systemeingabeeinfügung | Die eingeschränkte inputInjectionBrokered-Funktion ermöglicht Apps das programmgesteuerte Einfügen verschiedener Eingabearten (z. B. HID, Touch, Stift, Tastatur oder Maus) ins System. Diese Funktion wird in der Regel für Apps für die Zusammenarbeit verwendet, die die Kontrolle über das System übernehmen können. Bei einem PC wird die Eingabeeinfügung durch eine App, die über diese Funktion verfügt, nur von Prozessen im selben App-Container empfangen. <Capabilities><rescap:Capability Name="inputInjectionBrokered" /></Capabilities> |
Eingabe beobachten* | Die eingeschränkte inputObservation-Funktion ermöglicht Apps das Überwachen verschiedener Arten von Rohdateneingaben (z. B. HID, Touch, Stift, Tastatur oder Maus), die vom System empfangen werden, unabhängig vom endgültigen Ziel. Diese Funktion und die damit verbundenen APIs sind nur für die Verwendung durch ausgewählte Microsoft-Partner verfügbar. |
Eingabeunterdrückung | Die eingeschränkte inputSuppression-Funktion ermöglicht es Apps, den Empfang verschiedener Arten von Rohdateneingaben (z. B. HID, Touch, Stift, Tastatur oder Maus) durch das System zu unterdrücken. Diese Funktion und die damit verbundenen APIs sind nur für die Verwendung durch ausgewählte Microsoft-Partner verfügbar. |
VPN-App | Die eingeschränkte networkingVpnProvider-Funktion ermöglicht Apps den Vollzugriff auf VPN-Features. Sie haben dann u. a. die Möglichkeit, Verbindungen zu verwalten und VPN-Plug-In-Funktionen bereitzustellen. Für diese Funktion sind einige APIs aus dem Windows.Networking.Vpn-Namespace erforderlich. |
Sonstige App-Verwaltung | Die eingeschränkte packageManagement-Funktion ermöglicht Apps die direkte Verwaltung anderer Apps. Die packageQuery-Gerätefunktion ermöglicht Apps die Erfassung von Informationen zu anderen Apps. Diese Funktionen werden für den Zugriff auf einige Methoden und Eigenschaften der PackageManager-Klasse benötigt. |
Externe Anzeige | Die eingeschränkte screenDuplication-Funktion ermöglicht es Apps, den Bildschirm auf ein anderes Gerät zu projizieren. Diese Funktion wird für die Verwendung von APIs im DirectX-Namespace benötigt. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Benutzerprinzipalname | Mit der eingeschränkten Funktion userPrincipalName können Apps auf den Benutzerprinzipalnamen (User Principal Name, UPN) des aktuellen Benutzers zugreifen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Brieftasche | Die eingeschränkte walletSystem-Funktion gewährt Apps vollständigen Zugriff auf die gespeicherten Ausweiskarten. Für diese Funktion sind einige APIs aus dem Windows.ApplicationModel.Wallet.System-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Positionsverlauf | Die eingeschränkte locationHistory-Funktion ermöglicht Apps den Zugriff auf den Standortverlauf des Geräts. Für diese Funktion sind die APIs im Windows.Devices.Geolocation-Namespace erforderlich. |
App-Schließbestätigung | Die eingeschränkte confirmAppClose-Funktion ermöglicht es Apps, sich selbst und eigene Fenster zu schließen und das Schließen der App zu verzögern. Apps erfordern diese Funktion eventuell in Windows 10, Version 1703 (Build 10.0.15063) und höher. In früheren Versionen von Windows 10 ist diese Funktion privat und bewirkt, dass bei der App-Installation mit der Fehlermeldung „Die angeforderte Funktion kann für diese Anwendung nicht autorisiert werden“ ein Fehler auftritt. |
Anrufliste* | Die eingeschränkte phoneCallHistory-Funktion ermöglicht Apps das Lesen und Löschen von Einträgen im Anrufverlauf. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Chat-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zugriff auf Termine auf Systemebene | Die eingeschränkte appointmentsSystem-Funktion ermöglicht Apps das Lesen und Ändern aller Termine im Kalender des Benutzers. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Appointment-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zugriff auf Chatnachrichten auf Systemebene* | Die eingeschränkte chatSystem-Funktion ermöglicht Apps das Lesen und Schreiben aller SMS- und MMS-Nachrichten. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Chat-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zugriff auf Kontakte auf Systemebene | Die eingeschränkte contactsSystem-Funktion ermöglicht Apps das Lesen von Kontaktinformationen, die als eingeschränkt oder vertraulich gekennzeichnet sind, sowie das Ändern vorhandener Kontaktinformationen. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Chat-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
E-Mail-Zugriff | Die eingeschränkte email-Funktion ermöglicht Apps das Lesen, Auswählen und Senden von Benutzer-E-Mails. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Email-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
E-Mail-Zugriff auf Systemebene | Die eingeschränkte emailSystem-Funktion ermöglicht Apps das Lesen, Auswählen und Senden eingeschränkter oder vertraulicher Benutzer-E-Mails. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Email-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zugriff auf Anrufliste auf Systemebene | Die eingeschränkte phoneCallHistorySystem-Funktion ermöglicht Apps die vollständige Änderung des Anrufverlaufs. Sie haben dann die Möglichkeit, vorhandene Einträge zu ändern und neue Einträge zu erstellen. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Calls-Namespace erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Senden von SMS-Nachrichten* | Die eingeschränkte smsSend-Funktion ermöglicht Apps das Senden von SMS- und MMS-Nachrichten. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Chat-Namespace erforderlich. |
Zugriff auf alle Benutzerdaten auf Systemebene | Die eingeschränkte userDataSystem-Funktion ermöglicht Apps den Zugriff auf Benutzerdaten im Systemdatenspeicher. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Store-Vorschaufeatures | Die eingeschränkte previewStore-Funktion ermöglicht Apps das Abrufen und Erwerben von SKUs von In-App-Produkten. Für diese Funktion sind bestimmte APIs aus dem Windows.ApplicationModel.Store.Preview-Namespace erforderlich. |
Einstellungen beim ersten Anmelden | Die eingeschränkte firstSignInSettings-Funktion ermöglicht Apps den Zugriff auf Benutzereinstellungen, die beim ersten Anmelden des Benutzers mit dem Gerät festgelegt wurden. |
Windows-Teambenutzeroberfläche | Die eingeschränkte teamEditionExperience-Funktion ermöglicht Apps den Zugriff auf interne APIs, die zahlreiche erfahrungsbezogene Aspekte der Windows-Teamsitzung steuern. Eine Windows-Teamsitzung wird wahrscheinlich auf einem Teamgerät ausgeführt, z. B. Microsoft Surface Hub. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Remoteentsperrung | Die eingeschränkte remotePassportAuthentication-Funktion ermöglicht Apps den Zugriff auf die Anmeldeinformationen, die zum Entsperren eines Remotecomputers verwendet werden können. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Vorschaukomposition | Die eingeschränkte previewUiComposition-Funktion ermöglicht Apps eine Vorschau des Windows.UI.Composition-Namespaces für ihre Benutzeroberfläche, sodass sie Feedback zur API bereitstellen können, bevor der Vorgang abgeschlossen ist. Weitere Informationen erhältst du bei wincomposition@microsoft.com. |
Sperrmodus für sichere Bewertungen | Die eingeschränkte secureAssessment-Funktion ermöglicht es Apps, Windows in den Einzel-App-Modus zu versetzen, um sichere Bewertungen zu ermöglichen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Bereitstellung des Verbindungs-Managers | Die eingeschränkte networkConnectionManagerProvisioning-Funktion ermöglicht Apps das Definieren der Richtlinien, die das Gerät mit WWAN- und WLAN-Schnittstellen verbinden. Apps, die diese Funktion verwenden, werden von Mobilfunkanbietern zum Steuern der Geräteverbindung mit dem mobilen Netzwerk erstellt. |
Datentarifbereitstellung | Die eingeschränkte networkDataPlanProvisioning-Funktion ermöglicht Apps das Erfassen von Informationen über Datentarife auf dem Gerät und das Lesen der Netzwerkverwendung. Apps, die diese Funktion verwenden, werden von Mobilfunkanbietern zum Integrieren der tatsächlichen Datennutzung ihrer Kunden in der Einstellung für die Betriebssystemdatennutzung erstellt. |
Softwarelizenzierung | Die eingeschränkte slapiQueryLicenseValue-Funktion ermöglicht Apps das Abfragen der Softwarelizenzierungsrichtlinien. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Erweiterte Ausführung | Die eingeschränkte Funktion extendedBackgroundTaskTime verhindert, dass Hintergrundaufgaben abgebrochen oder aufgrund Zeitlimits für die Ausführung beendet werden. Sie unterliegen weiterhin allen anderen Arbeitsspeicher- und Energieverbrauchseinschränkungen. Diese Funktion kann unter Verwendung der Akkunutzungs- oder Datenschutzeinstellungen für Hintergrund-Apps eingeschränkt werden. Beachte, dass Verbraucher und Administratoren weiterhin Hintergrundaufgaben über die Gruppenrichtlinieneinstellungen steuern können. Die eingeschränkte extendedExecutionBackgroundAudio-Funktion ermöglicht Apps die Audiowiedergabe, wenn die App nicht im Vordergrund ist. Die eingeschränkte extendedExecutionCritical-Funktion ermöglicht es Apps, eine wichtige erweiterte Ausführungssitzung zu starten. Die eingeschränkte extendedExecutionUnconstrained-Funktion ermöglicht es Apps, eine unbeschränkte erweiterte Ausführungssitzung zu starten. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. Unter Verschieben der angehaltenen App mithilfe der erweiterten Ausführung findest du weitere Informationen zur Verwendung der erweiterten Ausführung, um das Anhalten deiner App zu verschieben. |
Mobile Geräteverwaltung | Die eingeschränkte deviceManagementDmAccount-Funktion ermöglicht Apps das Bereitstellen und Konfigurieren von MO OMA-DM-Konten (Mobile Operator Open Mobile Alliance – Device Management). Die eingeschränkte deviceManagementFoundation-Funktion ermöglicht Apps grundlegenden Zugriff auf die CSP-Infrastruktur (Configuration Service Provider, Konfigurationsdienstanbieter) der Mobilen Geräteverwaltung (Mobile Device Management, MDM) auf dem Gerät. Beachten Sie, dass andere Funktionen benötigt werden, um auf bestimmte CSPs zuzugreifen. Die eingeschränkte deviceManagementWapSecurityPolicies-Funktion ermöglicht Apps das Konfigurieren WAP-basierter (Wireless Application-Protokoll) Dienste, z. B. MMs, SI/SL (Service Indication/Service Loading) und von OMA-CP (Open Mobile Alliance – Client Provisioning). Die eingeschränkte deviceManagementEmailAccount-Funktion ermöglicht den von Mobilfunkanbietern erstellten Apps das Hinzufügen und Verwalten eines E-Mail-Kontos auf Geräten, die für Benutzer bereitgestellt werden. |
Paketrichtliniensteuerung | Die eingeschränkte packagePolicySystem-Funktion ermöglicht Apps das Steuern der Systemrichtlinien für Apps, die auf dem Gerät installiert sind. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Spieleliste | Die eingeschränkte gameList-Funktion ermöglicht Apps das Abrufen einer Liste mit bekannten Spielen, die auf dem System installiert sind. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Xbox-Zubehör | Die eingeschränkte xboxAccessoryManagement-Funktion ermöglicht Apps das direkte Verwalten von Xbox-Geräten, die der Xbox-Hardwarespezifikation entsprechen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Spracherkennung für Zubehör | Die eingeschränkte cortanaSpeechAccessory-Funktion ermöglicht es Apps, Befehle aufzurufen und an Cortana zu übergeben. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zubehörverwaltung | Die eingeschränkte accessoryManager-Funktion ermöglicht Apps das Registrieren als Zubehör-App und Abonnieren von bestimmten App-Benachrichtigungen, damit sie an Zubehör weitergeleitet und dem Benutzer angezeigt werden können. |
Treiberzugriff | Die eingeschränkte interopServices-Funktion ermöglicht Apps die direkte Interaktion mit Treibern. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Vordergrundbeobachtung | Die eingeschränkte InputForegroundObservation-Funktion ermöglicht es Apps im Vordergrund, Tastatureingaben abzufangen und die gesamte Verarbeitung von Nicht-App-Tastatureingaben zu umgehen. Durch diese Funktion können keine SAS-Kombinationen abgefangen werden. Sie ist für den Zugriff auf alle Member der KeyboardDeliveryInterceptor-Klasse erforderlich. |
OEM- und MO-Partner-Apps | Die eingeschränkte oemDeployment-Funktion ermöglicht es Apps, die von Microsoft-Partnern erstellt wurden, neue Apps zu installieren und derzeit auf dem Gerät installierte Apps abzufragen. Die eingeschränkte oemPublicDirectory-Funktion ermöglicht es Apps, die von Microsoft-Partnern erstellt wurden, auf den freigegebenen App-Ordner zuzugreifen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
App-Lizenzierung | Die eingeschränkte appLicensing-Funktion ermöglicht die Ausführung von Apps ohne Lizenz. Apps, in deren Manifest diese Funktion deklariert wird, können nicht an den Store übermittelt werden. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Ortssystem | Mit der eingeschränkten locationSystem-Funktion können Apps bestimmte privilegierte Ortskonfigurationen durchführen, um etwa den Standardort für das Gerät festzulegen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Anbieter von Benutzerdatenkonten | Die eingeschränkte userDataAccountsProvider-Funktion ermöglicht es Apps, E-Mail-, Kalender- und Kontaktkonten vollständig zu verwalten. |
Stiftarbeitsbereich | Mit der Funktion previewPenWorkspace kann eine App auf den Windows.ApplicationModel.Preview.Notes-Namespace zugreifen, um das Hosten im Stiftarbeitsbereich als Erinnerungsaktionshandler zu ermöglichen. |
Sekundärer Authentifizierungsfaktor | Mit der Funktion secondaryAuthenticationFactor kann eine App einen PC entsperren, indem die geheimen Schlüssel übergeben werden, die auf einem in der Nähe befindlichen Begleitgerät für die Authentifizierung gespeichert sind. Beispielsweise kann ein verknüpftes Fitnessarmband verwendet werden, um den PC zu entsperren. Diese Funktion ist erforderlich, um auf APIs im Windows.Security.Authentication.Identity.Provider-Namespace zuzugreifen. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Lizenzverwaltung für den Store | Mit der storeLicenseManagement-Funktion können Microsoft-Partner-Hub-Apps Store-Lizenzen auf dem Gerät verwalten. Diese Funktion ist für den Zugriff auf APIs im Windows.ApplicationModel.Store.LicenseManagement-Namespace erforderlich. |
Benutzersystem-ID | Mit der userSystemId-Funktion können Apps einen spezifischen Systembezeichner für den Benutzer abrufen. Mit diesem Bezeichner wird der aktuelle Benutzer auf einem bestimmten System eindeutig identifiziert und kann verwendet werden, um Informationen App-übergreifend zu korrelieren. Diese Funktion ist für den Zugriff auf die SystemIdentification.GetSystemIdForUser(User)-Methode erforderlich. |
Vorgesehene Inhalte | Die Funktion targetedContent bietet einer Anwendung die Möglichkeit zum Abrufen und Verwenden von gezielten Abonnementinhalten, die vom Namespace Windows.Services.TargetedContent bereitgestellt wurden. Diese Funktion wird für die Verwendung einiger APIs im Windows.System.Profile.SystemIdentification-Namespace benötigt. |
Benutzeroberflächenautomatisierung | Die Funktion uiAutomation ermöglicht einem UI-Automatisierungsclient wie z. B. der Sprachausgabe, eine Verbindung mit einem Benutzeroberflächenautomatisierungs-Server oder -Anbieter herzustellen. Diese Funktion wird für die Verwendung einiger APIs im Windows.Xbox.Media.Capture.Broadcaster-Namespace benötigt. |
Spieleleiste-Dienste | Die gameBarServices sind auf die aktualisierbaren Posteingangs-UWAs des Erstanbieterstores beschränkt. Diese Funktion ist erforderlich, um die Windows.Media.Capture.GameBarsSrvices-Klasse zu verwenden. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
App-Aufnahmedienste | Die appCaptureServices-Kapazität ist auf Parteien beschränkt, mit denen Microsoft vertraglich arbeitet. Diese Verträge werden auf Basis von Partnervereinbarungen abgeschlossen, welche mit der Unterstützung von Xbox-Diensten und Bizdev gesteuert werden. Diese Funktion ist für die Verwendung der Windows.Media.Capture.AppCaptureServices-Klasse erforderlich. |
App-Übertragungsdienste | Die appBroadcastServices-Funktion ist begrenzt auf Parteien, mit denen Microsoft vertraglich arbeitet. Diese Verträge werden auf Basis von Partnervereinbarungen abgeschlossen, welche mit der Unterstützung von Xbox-Diensten gesteuert werden. Diese Funktion ist für die Verwendung der Windows.Media.capture.AppBroadcastServices-Klasse erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Audiogerätekonfiguration | Die audioDeviceConfiguration-Funktion ermöglicht einer Anwendung, vom Audiotreiber zur Verfügung gestellte Audioeffekte abzufragen, zu konfigurieren, aktivieren oder zu deaktivieren. Diese Funktion ist für die Verwendung der Windows.Media.Devices.AudioDeviceModulesManager-Klasse erforderlich. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. Der Grund hierfür ist, dass AudioDeviceModulesManager einer Anwendung ermöglicht, auf alle Audioeffekte eines bestimmten Systems zuzugreifen. Die Audioeffekte könnten die Audioleistung des Gerät beeinträchtigen. |
Medienaufnahme im Hintergrund | Mit der Funktion backgroundMediaRecording ändert sich das Verhalten der medienspezifischen APIs, z. B. der Klassen MediaCapture und AudioGraph, um die Medienaufnahme zu ermöglichen, während sich die App im Hintergrund befindet. |
Freihandvorschau-Arbeitsbereich | Die previewInkWorkspace-Funktion ermöglicht der App, auf den im Freihandarbeitsbereich gehosteten Freihandvorschau-Namespace zuzugreifen. Im Allgemeinen wird dies von einem OEM verwendet, um die Whiteboardanwendung auf einem Gerät zu ersetzen. Für diese Funktion sind APIs aus dem Windows.ApplicationModel.Preview.InkWorkspace-Namespace erforderlich. |
Startbildschirm-Verwaltung | Die startScreenManagement-Funktion ermöglicht Apps das unbeaufsichtigte Anheften von Kacheln an die Startseite. Apps können auch vom Hintergrund aus anheften. Ohne startScreenManagement-Funktion werden keine APIs blockiert; verwenden Sie stattdessen startScreenManagement, damit keine Benutzeroberfläche von der Shell angezeigt wird, wenn eine App die Pin-API verwendet. |
Cortana-Berechtigungen | Die cortanaPermissions-Funktion ermöglicht einer App das Enumerieren der Berechtigungen, die ein Benutzer Cortana auf dem Gerät erteilt hat. Die Funktion ermöglicht es auch einer App, Berechtigungen für Cortana auf dem Gerät zu gewähren oder zu widerrufen. Beachte, dass die Verwendung von cortanaPermissions erfordert, dass auf dem Gerät vor Erteilung von Berechtigungen rechtliche Hinweise angezeigt werden. Daher liegt es in der Verantwortung der App, den Benutzer über die rechtlichen Folgen der Berechtigungsänderungen zu informieren. Diese Funktion ist erforderlich, um den Lesezugriff der HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Search-Registrierungseinstellungen zu erhalten. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Alle App-Module | Die allAppMods-Funktion ermöglicht einer App den Zugriff auf den Ordner AppMods für alle Apps. Verwaltungsdienstprogramme verwenden allAppMods, um außerhalb des Spiels oder der App Mods zu verwalten. |
Erweiterte Ressourcen | Die expandedResources-Funktion ermöglicht einer App den Zugriff auf die Ressourcen des Spielmodus. Auf Xbox und PCs mit ausreichender Leistung stellen Spielmodusressourcen eine Teilmenge der verfügbaren CPU-Kerne dar, die für die ausschließliche Verwendung der App reserviert sind. Auf Xbox verfügt die App auch über die exklusive Nutzung einer Speicherpartition von mindestens 4 GB. Diese Funktion ist erforderlich, um wie oben beschrieben die exklusive Nutzung von CPU- und Arbeitsspeicherressourcen zu erzielen. |
Geschützte App | Die protectedApp-Funktion gewährt einer App die Möglichkeit, vom Store in einen geschützten Prozess geladen zu werden. Wenn die App im Store aufgenommen wurde, wird der ausführbaren Datei vom Store ein Blob hinzugefügt. Der Store signiert die ausführbare Datei auch mit einem Microsoft-Schlüssel. Das Ladeprogramm des Prozesses überprüft dieses BLOB statt der Funktion, um einen geschützten Prozess zu erzwingen, da für das Blob eine Microsoft-Signatur erforderlich ist. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Gameüberwachung | Die gameMonitor-Funktion bewirkt, dass das System aktiv Spiele überwacht, um Cheatprogramme der App zu ermitteln. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
App-Diagnose | Die appDiagnostics-Funktion ermöglicht einer App das Abrufen von Diagnoseinformationen (z. B. Paketinformationen, Speicherverwendung und Kontoname) für alle anderen ausgeführten UWP-Apps. Die zurückgegebenen Informationen enthalten den Domänen-/Computerkontonamen, unter dem die App ausgeführt wird. Wenn die aufrufende App mit Administratorrechten gestartet wird, kann die App eine Liste mit allen ausgeführten Apps für alle Konten auf dem Computer abrufen. Diese Funktion ist für die Verwendung der Windows.System.AppDiagnosticInfo-, Windows.System.AppDiagnosticInfo.RequestAppDiagnosticInfoAsync- und Windows.ApplicationModel.AppInfo-Klasse erforderlich. |
Geräteportalanbieter | Die devicePortalProvider-Funktion ermöglicht Apps das Aufrufen der Windows.System.Diagnostics.DevicePortal-APIs und dient als ein Webserver für Diagnosetools im Entwicklermodus. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Enterprise Cloud für einmaliges Anmelden | Die Funktion enterpriseCloudSSO ermöglicht das einmalige Anmelden von Apps mit Azure Active Directory (AAD)-Ressourcen innerhalb eines gehosteten Webansichtssteuerelements. |
VoIP-Anrufe automatisch annehmen | Die Funktion backgroundVoIP ermöglicht dir, automatisch eingehende VoIP-Anrufe zu empfangen und zu akzeptieren, ohne dass der Benutzer explizit den Anruf entgegen nehmen muss. Apps, die diese Funktion nutzen, wird die vollständige Kontrolle über Kamera und Mikrofon gewährt und sie können diese Ressourcen im Hintergrund verwenden. Es wird nicht empfohlen, diese Funktion in Apps zu deklarieren, die an den Microsoft Store übermittelt werden. Für die meisten Entwickler wird die Verwendung dieser Funktion nicht genehmigt. |
Reservieren von Ressourcen für VoIP-Anrufe | Mit der oneProcessVoIP-Funktion kannst du die CPU- und Arbeitsspeicherressourcen reservieren, die für einen VoIP-Rückruf in einer Einzelprozessanwendung erforderlich sind. Es wird nicht empfohlen, diese Funktion in Apps zu deklarieren, die an den Microsoft Store übermittelt werden. Für die meisten Entwickler wird die Verwendung dieser Funktion nicht genehmigt. |
Netzwerk des Entwicklungsmodus | Die Funktion developmentModeNetwork ermöglicht Apps den Zugriff auf Netzwerkpfade, die die Anmeldeinformationen des angemeldeten Benutzers verwenden, wenn die OpenFile Win32 API in einer C++/CX-UWP-App oder C++-Komponente für Windows-Runtime aufgerufen wird. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Zugriff auf das allgemeine Dateisystem | Die Funktion broadFileSystemAccess ermöglicht Apps den gleichen Zugriff auf das Dateisystem wie der Benutzer, der aktuell die App ohne zusätzliche Dateiauswahlaufforderungen während der Laufzeit ausführt. Beachte unbedingt, dass diese Funktion nicht erforderlich ist, um auf Dateien zuzugreifen, die der Benutzer bereits mithilfe von FilePicker oder FolderPicker ausgewählt hat. Diese Funktion funktioniert mit den Windows.Storage-APIs. Weil Benutzer die Berechtigung in „Einstellungen“ jederzeit gewähren oder verweigern können, solltest du sicherstellen, dass deine App auf diese Änderungen flexibel reagiert. Im Update vom April 2018 lautet die Standardeinstellung für die Berechtigung „Ein“. Im Update vom Oktober 2018 lautet sie „Aus“. Außerdem ist es wichtig, dass du keine speziellen Ordnerfunktionen wie z. B. Dokumente, Bilder oder Videos mit dieser Funktion deklarierst. Du kannst diese Funktion in deiner App aktivieren, indem du dem Manifest broadFileSystemAccess hinzufügst. Ein Beispiel findest du im Artikel Berechtigungen für den Dateizugriff. In den meisten Fällen kann Ihre Anwendung die APIs FileOpenPicker, FileSavePicker, FolderPicker und FutureAccessList verwenden, um Zugriff auf Speicherorte im Dateisystem zu erhalten. Wenn Sie die Genehmigung zur Verwendung der broadFileSystemAccess-Funktion anfordern möchten, müssen Sie genau begründen, warum diese APIs für Ihre Bedürfnisse nicht ausreichen. Hinweis: Diese Funktion wird auf Xbox nicht unterstützt. |
Systemfirmware und BIOS | Die smbios-Funktion ermöglicht Apps den Zugriff auf BIOS-Daten und Systemfirmware-Daten. |
Berechtigungsebene der vollen Vertrauenswürdigkeit | Dies ist die eingeschränkte Funktion runFullTrust. Die Begriffe werden nachfolgend definiert, aber kurz gesagt, benötigt ein Paket diese Funktion, wenn das Paket Features verwendet, für die volle Vertrauenswürdigkeit erforderlich ist. Ein häufiges Beispiel ist ein Paket, das eine oder mehrere voll vertrauenswürdige Apps enthält. Mit der eingeschränkten Funktion runFullTrust können Sie ein Paket wie dieses auf einem Computer installieren. Eine voll vertrauenswürdige App ist eine App, die uap10:TrustLevel auf mediumIL festlegt (siehe Application-Element). Eine voll vertrauenswürdige App verfügt über einen Prozess, der mit der Integritätsebene medium ausgeführt wird (siehe Obligatorische Integritätssteuerung). Und ein Paket ist ein .appx - oder MSIX-Paket (siehe Erstellen eines MSIX-Pakets aus Ihrem Code).Ein weiteres Beispiel, in dem diese Funktion benötigt wird, ist ein Paket mit der Erweiterungskategorie windows.firewallRules (siehe desktop2:Extension). Dies gilt als voll vertrauenswürdiges Feature, und in diesem Beispiel gibt es keine zu aktivierende App und keinen zu startenden Prozess. Auch für die Verwendung der FullTrustProcessLauncher-Klasse ist diese Funktion erforderlich. |
Erhöhung | Mit der eingeschränkten Funktion allowElevation können Apps, die von Microsoft-Partnern und -Unternehmen erstellt wurden, vorhandene Desktopfunktionen beibehalten, die beim Start oder während der Lebensdauer einer App eine automatische Rechteerhöhung erfordern. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. Sie wird nur für Branchen-Apps genehmigt, die von Unternehmen über Microsoft Store für Unternehmen in ihrem privaten Speicher bereitgestellt werden. |
Windows Team-Geräteanmeldeinformationen | Die eingeschränkte Funktion teamEditionDeviceCredential ermöglicht Apps den Zugriff auf APIs, die Gerätekonto-Anmeldeinformationen auf einem Surface Hub-Gerät anfordern, auf dem Windows 10, Version 1703 oder höher ausgeführt wird. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Windows Team-Anwendungsansicht | Die eingeschränkte Funktion teamEditionView ermöglicht Apps den Zugriff auf APIs zum Hosten einer Anwendungsansicht auf einem Surface Hub-Gerät unter Windows 10, Version 1703 oder höher. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Kameraverarbeitungserweiterung | Mit der eingeschränkten Funktion cameraProcessingExtension können Apps Bilder verarbeiten, die von der Kamera ohne direktes Kamerasteuerelement erfasst wurden. Diese Funktion ist erforderlich, um APIs im Windows.Devices.PointOfService.Provider-Namespace aufzurufen. Jeder kann den Zugriff auf diese Funktion für die Übermittlung an den Store anfordern. |
Datennutzungsverwaltung | Die eingeschränkte Funktion networkDataUsageManagement ermöglicht Apps, Informationen zur Netzwerkdatennutzung zu sammeln. Diese Funktion ist erforderlich, um GetAttributedNetworkUsageAsync aufzurufen. Jeder kann den Zugriff auf diese Funktion für die Übermittlung an den Store anfordern. |
Verwalten von Telefonleitungskonnektivität | Mit der phoneLineTransportManagement-Funktion können Apps Systemgeräte verwalten, die für die Telefonleitungskonnektivität zuständig sind. Diese Funktion ist für die Verwendung der PhoneLineTransportDevice-APIs im Windows.ApplicationModel.Calls-Namespace erforderlich. |
Nicht virtualisierte Ressourcen | Mit der eingeschränkten Funktion unvirtualizedResources kann deine Anwendung das RegistryWriteVirtualization- und FileSystemWriteVirtualization-Element im Paketmanifest deklarieren, um die Virtualisierung für die Registrierung und das Dateisystem zu deaktivieren. Diese Deklarationen verhindern, dass das System Schreibvorgänge in HKEY_CURRENT_USER bzw. im AppData-Ordner des Benutzers virtualisiert. Dies ist nützlich in Szenarien, in denen deine Anwendung erwartet, dass andere Anwendungen dieselben Registrierungs- der Dateisystemeinträge wie sie lesen oder schreiben. Diese Funktion ist für bestimmte Arten von Desktop-PC-Spielen konzipiert, die von Microsoft und unseren Partnern veröffentlicht werden. Sie wird auch für Apps benötigt, die mit einem externen Speicherort gepackt sind (siehe Erteilen der Paketidentität durch Packen mit externem Speicherort). Sie ist nicht für die Verwendung in anderen Szenarien gedacht, da sie die Fähigkeit des Systems beeinträchtigen könnte, ordnungsgemäß zu deinstallieren. |
Änderbare App | Die eingeschränkte Funktion modifiableApp ermöglicht der Anwendung, die windows.mutablePackageDirectories-Erweiterung im Paketmanifest zu deklarieren. Auf diese Weise kannst du einen Namen für den Ordner angeben, in dem die Anwendung Dateiänderungen oder hinzugefügte Dateien erwartet. Das Betriebssystem erstellt diesen Ordner und ermöglicht der Anwendung die Verwendung der Dateien in diesem Ordner anstelle der (oder zusätzlich zu den) Dateien, die ursprünglich von der Anwendung installiert wurden. Diese Funktion ist für bestimmte Arten von Desktop-PC-Spielen konzipiert, die von Microsoft und unseren Partnern veröffentlicht werden. Sie wird nicht für andere Szenarien zugelassen, da sie das Ausführen nicht signierten Codes zulassen kann. |
Paketschreibumleitungs-Shim | Mit der eingeschränkten Funktion packageWriteRedirectionCompatibilityShim wird deine Anwendung so konfiguriert, dass alle neuen Dateien an einem benutzerspezifischen Speicherort erstellt werden. Alle bereits vorhandenen Dateien, die für Schreibvorgänge geöffnet wurden, werden zuerst an einen benutzerspezifischen Speicherort kopiert, und die Änderungen werden an diesem Speicherort an der Datei vorgenommen. Diese Funktion ist nützlich für Anwendungen, die Dateien im Installationsordner erstellen oder ändern. Diese Funktion ist für bestimmte Arten von Desktop-PC-Spielen konzipiert, die von Microsoft und unseren Partnern veröffentlicht werden. Allerdings kann sie in einigen Fällen auch auf andere Apps anwendbar sein. |
Benutzerdefinierte Installationsaktionen | Mit der eingeschränkten Funktion customInstallActions kann deine Anwendung die windows.customInstall-Erweiterung in ihrem Paketmanifest deklarieren, sodass sie mindestens eine zusätzliche Installationsdatei (EXE-oder MSI-Datei) angeben kann, die mit der Anwendung ausgeführt wird. Dies ermöglicht dir, benutzerdefinierte Aktionen für alle Standardbereitstellungsszenarien anzugeben: Installieren, Aktualisieren, Reparieren oder Deinstallieren. Dies ist beispielsweise bei Anwendungen nützlich, die eine verteilbare Komponente eines Drittanbieters bündeln. Diese Funktion ist für bestimmte Arten von Desktop-PC-Spielen konzipiert, die von Microsoft und unseren Partnern veröffentlicht werden. Sie wird nicht für andere Szenarien zugelassen. |
Gepackte Dienste | Mit der eingeschränkten Funktion packagedServices können Anwendungen, die von Microsoft-Partnern und -Unternehmen erstellt wurden, die windows.service-Erweiterung im Paketmanifest deklarieren, damit ein oder mehrere Dienste zusammen mit der App installiert werden können. Diese Dienste können so konfiguriert werden, dass sie unter dem Konto des lokalen Diensts, des Netzwerkdiensts oder lokalen Systems ausgeführt werden. Lokaler Dienst und Netzwerkdienst benötigen nur die packagedServices-Funktion. Lokale Systemdienste erfordern sowohl die packagedServices- als auch localSystemServices-Funktion. Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Lokale Systemdienste | Die eingeschränkte Funktion localSystemServices ermöglicht Anwendungen, die von Microsoft-Partnern und -Unternehmen erstellt werden, einen oder mehrere lokale Systemdienste zusammen mit der App zu installieren (d. h., deine Anwendung kann den StartAccount für die Dienste als LocalSystem deklarieren). Dieses Szenario erfordert auch die packagedServices-Funktion . Es wird nicht empfohlen, diese Funktion in Anwendungen zu deklarieren, die du an den Microsoft Store übermittelst. In den meisten Fällen wird die Verwendung dieser Funktion nicht genehmigt. |
Räumliche Hintergrundwahrnehmung | Die eingeschränkte Funktion backgroundSpatialPerception ermöglicht einer Anwendung, auf die Bewegung der Kopf-, Hände- und Bewegungscontroller des Benutzers und andere verfolgte Objekte zuzugreifen, während die App im Hintergrund ausgeführt wird. |
Zugriff auf die Benutzeroberfläche | UIAccess ist eine Funktion in Windows, über die bestimmten vertrauenswürdigen Anwendungen die Interaktion mit der Benutzeroberfläche anderer Anwendungen gewährt werden kann, auch wenn sie mit höheren Berechtigungen oder in einer sicheren Desktopsitzung ausgeführt werden. Diese Funktion wird häufig von Tools für Barrierefreiheit und von Automatisierungssoftware verwendet, um Benutzern alternative Möglichkeiten für die Interaktion mit Anwendungen zu bieten. Die eingeschränkte uiAccess-Funktion muss angegeben sein, wenn das uiAccess-Attribut des requestedExecutionLevel in der App-Manifestdatei auf „True“festgelegt ist. Weitere Informationen finden Sie unter Sicherheitsüberlegungen für Hilfstechnologien. |
Benutzerdefinierte Funktionen
Im obigen Abschnitt Eingeschränkte Funktionen wird der gleiche Funktionsgenehmigungsprozess beschrieben, mit dem du die Genehmigung für die Verwendung einer benutzerdefinierten Funktion anfordern kannst. Die Eingebettete SIM-APIs sind Beispiele für APIs, die eine benutzerdefinierte Funktion erfordern. Wenn du deine Anwendung nur lokal im Entwicklermodus ausführen möchtest, benötigst du die benutzerdefinierte Funktion nicht. Aber du benötigst sie, um deine App im Microsoft Store zu veröffentlichen oder außerhalb des Entwicklermodus auszuführen.
Wenn du mit einem Windows Technical Account Manager (TAM) in Kontakt stehst, kannst du mit seiner Hilfe Zugriff anfordern. Weitere Informationen findest du unter Wenden Sie sich an Ihren Microsoft-TAM.
Um eine benutzerdefinierte Funktion zu deklarieren, ändere die Quelldatei (Package.appxmanifest
) des App-Paketmanifests. Füge die xmlns:uap4-XML-Namespace-Deklaration hinzu, und verwende das uap4-Präfix, wenn du die benutzerdefinierte Funktion deklarierst. Hier finden Sie ein Beispiel.
<?xml version="1.0" encoding="utf-8"?>
<Package
...
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4">
...
<Capabilities>
<uap4:CustomCapability Name="CompanyName.customCapabilityName_PublisherID"/>
</Capabilities>
</Package>
Hinweis
Alle CustomCapability-Elemente müssen hinter allen Capability-Elementen und vor allen DeviceCapability-Elementen unter dem Capabilities-Knoten im Paketmanifest aufgeführt werden.
Funktionsszenario | Funktionsnutzung |
---|---|
App-URI-Handler | Eine App kann sich selbst als Handler für einen bestimmten URI registrieren, sodass die App gestartet wird, anstatt den Browser zu öffnen, wenn der Benutzer einen Link zum angegebenen URI öffnet. Dies erfordert eine Registrierung auf dem lokalen Computer und eine Überprüfung durch den Zielwebserver. Die benutzerdefinierte Funktion Microsoft.delegatedWebFeatures_8wekyb3d8bbwe ermöglicht es einer App, eine progressive Web-App (PWA) zu hosten und diese PWA als App-URI-Handler zu verifizieren, ohne zur Bestätigung auf die Zielwebsite zu verweisen. |
SAR-Konfiguration für Mobilfunk | Mit der benutzerdefinierten Funktion Microsoft.cellularSARConfiguration_8wekyb3d8bbwe kann eine App die Konfiguration der SAR-Eigenschaften (Specific Absorption Rate, spezifische Absorptionsrate) eines Geräts vornehmen. Lesen Sie die Informationen zur Klasse MobileBroadbandSarManager. |
CoreApplication-Aktivierung | Eine App, die die benutzerdefinierte Funktion Microsoft.coreAppActivation_8wekyb3d8bbwe deklariert, ist CoreApplication-basiert, muss aber ähnlich wie eine Desktop-Brücken-App mit voller Vertrauenswürdigkeit ausgeführt werden. |
Benutzerdefinierte Installationsaktionen | Ermöglicht der App die Verwendung von benutzerdefinierten Installations-/Deinstallationsaktionen. Eine App kann benutzerdefinierte Aktionen verwenden, wenn sie über die eingeschränkte benutzerdefinierteInstallActions-Funktion UND verfügt (es handelt sich um eine MSIXVC Xbox Game Pass-App, ODER sie verfügt über die Microsoft.classicAppInstaller_8wekyb3d8bbwe benutzerdefinierte Funktion). |
ESim-Verwaltung | Mit der benutzerdefinierten Funktion Microsoft.eSIMManagement_8wekyb3d8bbwe kann eine App die Konfiguration der eingebetteten SIM-Karte (eSIM) eines Geräts vornehmen. Lesen Sie die Informationen zur ESim-Klasse. |
Legacy-Installationsverhalten | Die benutzerdefinierte Funktion Microsoft.classicAppCompat_8wekyb3d8bbwe schützt den Fall, dass eine App eine Legacy-Installationsfunktion deklariert, z. B. das Schreiben von benutzerdefinierten COM-ProgIds in der Windows-Registrierung. |
Computerweite Installation | Schützt den Fall, dass eine App eine Legacy-Installationsfunktion deklariert, die für eine computerweite/HKLM-Registrierung konfiguriert ist, die erhöhte Rechte erfordert. Speziell erforderlich für alles im Manifest der App, wo die App Scope="machine" deklariert.Eine MSIX-basierte App, die das Element desktop7:ApprovedShellExtension verwendet, muss beispielsweise den Bereich auf „Computer“ festlegen und daher die benutzerdefinierte Funktion Microsoft.classicAppCompatElevated_8wekyb3d8bbwe deklarieren. Weitere Informationen zu diesem Szenario finden Sie unter desktop7:ApprovedShellExtension. |
On-Demand-Netzwerk | Die benutzerdefinierte Funktion Microsoft.onDemandHotspotControl_8wekyb3d8bbwe (die On-Demand-Netzwerkfunktion) wird nur für App-Entwickler zur Verfügung gestellt, die Szenarien für End-to-End-WLAN-Hotspots zwischen einem Tethering-fähigen Hardwaregerät und einem Windows-PC entwickeln. Lesen Sie die Informationen zur WiFiOnDemandHotspotNetwork-Klasse. |
Registrieren einer genehmigten Shellerweiterung | Informationen finden Sie im Funktionsszenario Computerweite Installation. |
S-Modus | Eine App, die die benutzerdefinierte Funktion Microsoft.requiresNonSMode_8wekyb3d8bbwe deklariert, kann auf einem Windows-Gerät im S-Modus nicht ausgeführt werden. |
Start-Apps | Eine App kann so eingerichtet werden, dass sie bei der Anmeldung des Benutzers automatisch startet. Normalerweise kann der Benutzer dieses Verhalten für jede App aktivieren/deaktivieren. Die benutzerdefinierte Funktion Microsoft.nonUserConfigurableStartupTasks_8wekyb3d8bbwe konfiguriert eine App so, dass der Benutzer ihr Startverhalten nicht aktivieren/deaktivieren kann. |
Windows Core 1 | Eine App, die die benutzerdefinierte Funktion Microsoft.deployFullTrustOnHost_8wekyb3d8bbwe deklariert, ist voll vertrauenswürdig für die Verwendung nativer Win32-APIs auf einem Windows Core-Gerät. |
Windows Core 2 | Eine Desktop-Brücken-App, die die benutzerdefinierte Funktion Microsoft.notSupportedInCoreV1_8wekyb3d8bbwe deklariert, kann nicht auf einem Windows Core-Gerät ausgeführt werden. |
Windows Hello-Begleitgeräteframework | Die Funktionalität im Zusammenhang mit der benutzerdefinierten Funktion Microsoft.secondaryAuthenticationFactorForLogon_8wekyb3d8bbwe ist ab Windows 10, Version 2004 (10.0; Build 19041) ist veraltet, und diese Funktion steht für Entwicklerkonten nicht mehr zur Verfügung. Eine App, die diese Funktion deklariert, kann mit dem Begleitgeräteframework registriert werden, um die Windows-Entsperrung mit dem zugeordneten Begleitgerät der App zu aktivieren. Weitere Informationen finden Sie unter Entsperren von Windows mit Windows Hello-Begleitgeräten (IoT). |