Condividi tramite


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.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Puntatore a una struttura GNSS_GEOFENCE_DELETE_PARAM che definisce il recinto virtuale da eliminare.

Lunghezza del buffer di input

Impostare su sizeof(GNSS_GEOFENCE_DELETE_PARAM).

Buffer di output

Impostare su NULL.

Lunghezza del buffer di output

Impostare su 0.

Blocco di stato

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.

Osservazioni

NTSTATUS con le indicazioni seguenti:

  • STATUS_SUCCESS: il driver ha rimosso correttamente il recinto virtuale.

  • STATUS_UNSUCCESSFUL: non è possibile eliminare il recinto virtuale.

Note sull'adattatore GNSS

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.

Note sul driver GNSS

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.

Fabbisogno

Requisito Valore
intestazione gnssdriver.h (include Gnssdriver.h)

Vedere anche

creazione di richieste IOCTL nei driver

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously