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
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