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


IOCTL_GNSS_MODIFY_FIXSESSION IOCTL (gnssdriver.h)

Код элемента управления IOCTL_GNSS_MODIFY_FIXSESSION используется адаптером GNSS для изменения параметров сеанса исправления активного сеанса исправления. Это необходимо, только если драйвер GNSS не поддерживает несколько сеансов исправления одного и того же типа исправления, например, если для параметра SupportMultipleFixSession драйвера задано значение FALSE.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Указатель на структуру GNSS_FIXSESSION_PARAM .

Длина входного буфера

Задайте значение sizeof(GNSS_FIXSESSION_PARAM).

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

задано значение NULL.

Длина выходного буфера

Задайте значение 0.

Блок состояния

Irp->IoStatus.Status имеет значение STATUS_SUCCESS, если запрос выполнен успешно. В противном случае — состояние соответствующего условия ошибки в виде кода NTSTATUS .

Комментарии

Драйвер задает значение NTSTATUS, указывающее один из следующих результатов.

  • Сеанс исправления был успешно изменен.
  • Сеанс исправления в настоящее время остановлен или не активен.
  • Не удалось изменить параметр сеанса исправления.

Заметки об адаптере GNSS

Адаптер GNSS использует этот IOCTL для изменения параметров сеанса исправления активного сеанса исправления в соответствии с новыми запросами на исправление от приложений LBS.

В случае сбоя вызова адаптер GNSS не будет мультиплексировать новый запрос на исправление в существующий активный сеанс. Вместо этого он будет продолжать ожидать, что активный сеанс исправления остался без изменений.

Если вызов будет выполнен успешно, адаптер GNSS ожидает, что последующие данные исправления будут соответствовать новым параметрам сеанса.

Заметки о драйвере GNSS

Если поддержка нескольких сеансов отсутствует, драйвер GNSS должен поддерживать этот IOCTL и изменять параметры сеанса исправления на лету для активного сеанса.

После того как драйвер GNSS примет параметры сеанса исправления, проверит их и отправит в подсистему GNSS, он должен немедленно завершить запрос ввода-вывода с кодом успешного возврата.

После успешного завершения драйвер GNSS должен вернуть все данные исправления в соответствии с новыми параметрами сеанса исправления. Однако данные исправления, которые уже находятся в процессе предоставления адаптеру GNSS, по-прежнему должны быть доступны и не должны быть удалены.

Требования

Требование Значение
Заголовок gnssdriver.h

См. также раздел

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

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously