IOCTL_GNSS_CREATE_GEOFENCE IOCTL (driver.h)
Le code de contrôle IOCTL_GNSS_CREATE_GEOFENCE est utilisé par l’adaptateur GRID pour créer une limite géographique.
S’applique à PAGE DDI version 2 et ultérieure.
Code principal
Mémoire tampon d’entrée
Pointeur vers une structure GNSS_GEOFENCE_CREATE_PARAM qui définit la limite géographique à créer.
Longueur de la mémoire tampon d’entrée
Définir sur sizeof(GNSS_GEOFENCE_CREATE_PARAM).
Mémoire tampon de sortie
Pointeur vers une structure GNSS_GEOFENCE_CREATE_RESPONSE.
Longueur de la mémoire tampon de sortie
Définir sur sizeof(GNSS_GEOFENCE_CREATE_RESPONSE).
Bloc d’état
> IoStatus.Status est défini sur STATUS_SUCCESS si la requête réussit. Sinon, état à la condition d’erreur appropriée en tant que code NTSTATUS.
Remarques
Notes de l’adaptateur DIMENSIONNELLE
Si l’appel réussit, le moteur RDI inscrit la limite géographique et affecte un ID unique. L’adaptateur PSEC utilise l’ID unique pour toutes les interactions avec le pilote concernant cette limite géographique spécifique.
Si l’appel échoue, le pilote PSEC doit s’assurer que le moteur PSEC ne finit pas par créer la limite géographique et commencer à le suivre. Une défaillance doit restaurer l’état du moteur SAUVEGARDÉE à l’état précédent avant d’ajouter cette limite géographique.
L’adaptateur JDBC ne s’attend pas à ce que le pilote conserve les limites géographiques entre les redémarrages du pilote. L’adaptateur PSEC efface explicitement toutes les limites géographiques du pilote JDBC via la commande GNSS_ResetGeofencesTracking aux moments appropriés (initialisation, suivi des modifications d’état après un échec, etc.).
Notes du pilote PSEC
S’il s’agit de la première limite géographique, le pilote PSEC doit démarrer le suivi de la limite géographique, continuer à surveiller la limite géographique sur l’emplacement actuel de l’appareil de manière efficace et déclencher des alertes si une limite géographique est enfreinte. Si le moteur ORÉAL ne parvient pas à suivre la limite géographique (en raison de conditions de signal incorrectes ou d’autres erreurs temporaires), un état d’erreur doit être déclenché via l’événement LISTEN_GEOFENCES_TRACKINGSTATUS.
Le moteur INTEROPÉRABILITÉ doit respecter les instructions suivantes pour le suivi de la limite géographique :
L’opération de suivi des appareils et la détection des violations doivent être optimisées pour prendre en compte la taille et la zone de la limite géographique. Si toutes les conditions sont identiques, les zones géographiques plus grandes doivent être suivies de manière moins agressive par rapport aux zones géographiques plus petites.
L’opération de suivi des appareils doit être optimisée dynamiquement pour prendre en compte la distance relative de la limite géographique par rapport à la position actuelle. Toutes les conditions étant égales, les limites géographiques plus éloignées devraient être suivies moins agressivement par rapport aux plus proches et l’agression devrait augmenter à mesure que l’appareil se rapproche de la limite géographique.
Le mécanisme de détection des violations doit être asymétrique pour l’entrée et la sortie. En règle générale, les règles de détermination de la sortie d’une limite géographique doivent être assouplies par rapport aux règles de détermination de l’entrée dans la limite géographique.
Le mécanisme de détection des violations doit tenir compte des faux positifs potentiels résultant de l’inexactitude inhérente à l’emplacement de l’appareil. Par exemple, si l’appareil pointe près du bord d’une limite géographique, un mécanisme de détection de violation sous-optimal peut générer un trop grand nombre d’événements d’entrée et de sortie de retour à l’arrière même si l’appareil ne se déplace pas physiquement vers l’avant et l’extérieur. La détection de sortie asymétrique et l’astérisie sont des mesures typiques pour éviter ces erreurs.
L’opération de suivi de l’appareil du moteur ORÉAL doit utiliser toutes les formes de signaux modifiés d’emplacement disponibles qui sont disponibles sur le SoC ou peuvent être utilisés à faible puissance. Ces signaux peuvent inclure, mais pas seulement, les données de l’accéléromètre et d’autres capteurs, le changement de signal cellulaire, la connexion/déconnexion Wi-Fi, etc.
Les opérations de suivi de la géofence et de détection des violations doivent être entièrement implémentées dans le moteur SEE sur SoC. Ni le pilote PSEC ni aucun autre composant d’extension sur le processeur d’application ne doit se réveiller pour le suivi des appareils ou la détection des violations.
Le pilote PSEC et le moteur PSEC doivent exposer les paramètres de réglage spécifiques à IHV documentés pour faciliter les performances et le réglage de l’alimentation de la fonctionnalité de suivi de la limite géographique. Microsoft et les OEM utilisent des paramètres de réglage et déterminent le bon équilibre entre la qualité de service, la fiabilité et le coût de puissance de l’expérience de limite géographique de bout en bout. Les paramètres de réglage peuvent être mis à disposition via les paramètres de Registre ou via les données de configuration soC IHV.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | driver.h (include Messagedriver.h) |
Voir aussi
création de requêtes IOCTL dans les pilotes
WdfIoTargetSendInternalIoctlOthersSynchronously