IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnssdriver.h)
Il codice di controllo IOCTL_GNSS_DELETE_GEOFENCE viene usato dall'adattatore GNSS per eliminare un recinto virtuale creato in precedenza.
Si applica a GNSS DDI versione 2 e successive.
Puntatore a una struttura GNSS_GEOFENCE_DELETE_PARAM che definisce il recinto virtuale da eliminare.
Impostare su sizeof(GNSS_GEOFENCE_DELETE_PARAM).
Impostare su NULL.
Impostare su 0.
Irp-> IoStatus.Status è impostato su STATUS_SUCCESS se la richiesta ha esito positivo. In caso contrario, stato alla condizione di errore appropriata come codice NTSTATUS.
NTSTATUS con le indicazioni seguenti:
STATUS_SUCCESS: il driver ha rimosso correttamente il recinto virtuale.
STATUS_UNSUCCESSFUL: non è possibile eliminare il recinto virtuale.
L'adapter GNSS non prevede che questa chiamata non riesca perché non esiste un modo elegante per gestire la conseguenza di questo errore. In caso di errore, l'adattatore GNSS eseguirà il comando GNSS_ResetGeofencesTracking e aggiungerà nuovamente i recinti virtuali.
Se si tratta dell'ultimo recinto virtuale, il driver GNSS deve arrestare il rilevamento del recinto virtuale. Se il motore GNSS non è riuscito a tenere traccia dei recinti virtuali (a causa di condizioni di segnale non valido o di altri errori temporanei) prima dell'eliminazione dell'ultimo recinto virtuale, l'attività di monitoraggio deve essere interrotta.
Se il recinto virtuale viene rimosso correttamente, il driver restituisce STATUS_SUCCESS. Se non è possibile eliminare il recinto virtuale, viene restituito un codice di errore STATUS_UNSUCCESSFUL. Se si verifica un errore, l'adattatore GNSS rilascia il comando GNSS_ResetGeofencesTracking e ricrea i recinti virtuali desiderati. Se questo comando elimina l'ultimo recinto virtuale definito, il driver arresta il rilevamento del recinto virtuale.
Requisito | Valore |
---|---|
intestazione | gnssdriver.h (include Gnssdriver.h) |
creazione di richieste IOCTL nei driver
WdfIoTargetSendInternalIoctlOthersSynchronously