IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnssdriver.h)
Код элемента управления IOCTL_GNSS_DELETE_GEOFENCE используется адаптером GNSS для удаления ранее созданной геозоны.
Применяется к GNSS DDI версии 2 и более поздних.
Основной код
Входной буфер
Указатель на структуру GNSS_GEOFENCE_DELETE_PARAM , которая определяет удаляемую геозону.
Длина входного буфера
Задайте для параметра sizeof(GNSS_GEOFENCE_DELETE_PARAM).
Выходной буфер
Задайте значение NULL.
Длина выходного буфера
Задайте значение 0.
Блок состояния
Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае — Состояние до соответствующего условия ошибки в виде кода NTSTATUS .
Комментарии
NTSTATUS со следующими признаками:
STATUS_SUCCESS. Драйвер успешно удалил геозону.
STATUS_UNSUCCESSFUL: не удалось удалить геозону.
Заметки об адаптере GNSS
Адаптер GNSS не ожидает, что этот вызов завершится ошибкой, так как нет элегантного способа обработки последствий этого сбоя. В случае сбоя адаптер GNSS выполнит команду GNSS_ResetGeofencesTracking и повторно добавит геозоны.
Заметки о драйвере GNSS
Если это последняя геозона, драйвер GNSS должен остановить отслеживание геозоны. Если подсистеме GNSS не удалось отследить геозоны (из-за плохих условий сигнала или других временных ошибок) до удаления последней геозоны, действие мониторинга должно остановиться.
Если геозона успешно удалена, драйвер возвращает STATUS_SUCCESS. Если геозона не может быть удалена, возвращается код сбоя, STATUS_UNSUCCESSFUL. В случае сбоя адаптер GNSS выполняет команду GNSS_ResetGeofencesTracking и повторно создает нужные геозоны. Если эта команда удаляет последнюю определенную геозону, драйвер останавливает отслеживание геозоны.
Требования
Требование | Значение |
---|---|
Заголовок | gnssdriver.h (включая Gnssdriver.h) |
См. также раздел
Создание запросов IOCTL в драйверах
WdfIoTargetSendInternalIoctlOthersSynchronously