Compartir a través de


IOCTL_GNSS_START_FIXSESSION IOCTL (gnssdriver.h)

El adaptador de GNSS usa el código de control IOCTL_GNSS_START_FIXSESSION para iniciar una sesión de corrección.

Código principal

IRP_MJ_DEVICE_CONTROL

Búfer de entrada

Puntero a una estructura de GNSS_FIXSESSION_PARAM.

Longitud del búfer de entrada

Establezca en sizeof(GNSS_FIXSESSION_PARAM).

Búfer de salida

Establezca en NULL.

Longitud del búfer de salida

Establezca en 0.

Bloque de estado

Irp->ioStatus.Status se establece en STATUS_SUCCESS si la solicitud se realiza correctamente. De lo contrario, estado a la condición de error adecuada como código NTSTATUS.

Observaciones

El controlador establece un valor NTSTATUS para indicar uno de los siguientes resultados.

  • La sesión de corrección se inició correctamente.
  • Una sesión de corrección del mismo tipo ya está activa y el controlador no admite varias sesiones.

Notas del adaptador de GNSS de

Si la compatibilidad con varias sesiones no está presente, el adaptador de GNSS garantiza que varias sesiones del mismo tipo de corrección se multiplexan correctamente para que el controlador GNSS solo vea una sesión de un tipo determinado de corrección. El adaptador GNSS puede modificar los parámetros de sesión de corrección de una sesión de corrección activa a través de la llamada IOCTL_GNSS_MODIFY_FIXSESSION.

El adaptador de GNSS no inicia una solicitud get fix a menos que el controlador complete esta llamada y devuelva un estado correcto en la salida.

Notas del controlador GNSS de

Si la compatibilidad con varias sesiones no está presente y el adaptador de GNSS envía otra solicitud de corrección de inicio para un tipo de corrección que ya está activo, el controlador GNSS debe producir un error en la nueva solicitud de sesión. El controlador no debe reemplazar la sesión anterior por los nuevos detalles de la sesión de corrección.

El controlador GNSS siempre admite varias sesiones de corrección de diferentes tipos de corrección.

Una vez que el controlador GNSS acepta los parámetros de sesión de corrección, los valida e inicia el motor GNSS, completa inmediatamente la E/S con un código de devolución correcto. A menos que la sesión de corrección de inicio vuelva con un código correcto, el adaptador de GNSS no emitirá una solicitud get fix. Todas las correcciones recibidas para esta sesión de corrección específica deben entregarse al adaptador de GNSS en una llamada get fix posterior pendiente del adaptador de GNSS que tenga el mismo identificador de sesión. Si la corrección está disponible y el adaptador no crea ninguna llamada de corrección get pendiente, se requiere el controlador GNSS para poner en cola la corrección hasta un valor de tiempo de espera específico de la implementación, hasta que se cree una E/S pendiente que represente el identificador de sesión.

Una vez iniciada una sesión de corrección, permanece activa a menos que el adaptador de GNSS detenga explícitamente la sesión de corrección. Esto se aplica a todos los tipos de corrección.

Requisitos

Requisito Valor
encabezado de gnssdriver.h

Consulte también

crear solicitudes IOCTL en controladores

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously