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


IOCTL_GNSS_INJECT_AGNSS IOCTL (gnssdriver.h)

Код IOCTL_GNSS_INJECT_AGNSS элемента управления используется адаптером GNSS для внедрения данных AGNSS в драйвер. Этот IOCTL отправляется в результате того, что драйвер ранее ответил на ожидающий запрос IOCTL_GNSS_LISTEN_AGNSS .

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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

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

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

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

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

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

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

Комментарии

Вход

GNSS_AGNSS_INJECT

В зависимости от элемента InjectionType заполняется соответствующий элемент данных.

Выход

NTSTATUS со следующими признаками:
  • Успешно: внедрение данных AGNSS принято.
  • Сбой: не удалось выполнить внедрение данных AGNSS.

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

Если адаптерУ GNSS не удается получить время для внедрения, он задает элемент InjectionStatus. Драйвер должен проверка, что этот элемент указывает на успешное выполнение, прежде чем фактически использовать данные элемента.

В случае сбоя при сборе данных о внедрении адаптер не выполняет автоматическую попытку. Драйвер может повторить тот же запрос последовательно.

Это пожар и забыть IOCTL. Адаптер GNSS не обрабатывает ошибку, даже если драйвер возвращает ошибку, указывающую на то, что данные внедрения не использовались.

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

Драйвер GNSS завершает запрос ввода-вывода после использования данных внедрения.

Требования

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

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

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

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously