Поделиться через


IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnssdriver.h)

Код элемента управления IOCTL_GNSS_DELETE_GEOFENCE используется адаптером GNSS для удаления ранее созданной геозоны.

Применяется к GNSS DDI версии 2 и более поздних версий.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Указатель на структуру 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 (include Gnssdriver.h)

См. также

создание запросов IOCTL в драйверах

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronous

WdfIoTargetSendIoctlSynchronously