IOCTL_GNSS_START_FIXSESSION IOCTL (gnssdriver.h)
GNSS 配接器會使用 IOCTL_GNSS_START_FIXSESSION 控制項程式代碼來啟動修正工作階段。
主要程序代碼
輸入緩衝區
GNSS_FIXSESSION_PARAM 結構的指標。
輸入緩衝區長度
設定為sizeof(GNSS_FIXSESSION_PARAM)。
輸出緩衝區
設定為 NULL。
輸出緩衝區長度
設定為 0。
狀態區塊
如果要求成功,Irp->IoStatus.Status 會設定為STATUS_SUCCESS。 否則,狀態 為適當的錯誤條件,作為 NTSTATUS 程序代碼。
言論
驅動程式會設定NTSTATUS值,以指出下列其中一個結果。
- 修正工作階段已成功啟動。
- 相同類型的修正會話已經作用中,且驅動程式不支援多個會話。
GNSS 配接器注意事項
如果不存在多會話支援,GNSS 配接器可確保相同修正類型的多個會話已正確多任務處理,讓 GNSS 驅動程式只會看到指定型別修正的一個會話。 GNSS 配接器可以透過 IOCTL_GNSS_MODIFY_FIXSESSION 呼叫修改作用中修正會話的修正會話參數。除非驅動程式完成此呼叫並傳回輸出中的成功狀態,否則 GNSS 配接器不會啟動取得修正要求。
GNSS 驅動程式注意事項
如果不存在多會話支援,且 GNSS 配接器會針對已經作用中的修正類型傳送另一個啟動修正要求,則 GNSS 驅動程式必須失敗新的工作階段要求。 驅動程式不應該以新的修正會話詳細數據取代前一個會話。GNSS 驅動程式一律支援不同修正類型的多個修正會話。
一旦 GNSS 驅動程式接受修正工作階段參數、驗證它們,並啟動 GNSS 引擎,它就會立即完成 I/O 並成功傳回碼。 除非啟動修正會話傳回成功碼,否則 GNSS 配接器將不會發出取得修正要求。 針對具有相同會話標識碼的 GNSS 配接器,必須針對後續擱置中取得修正呼叫,將此特定修正會話收到的所有修正程式傳送至 GNSS 配接器。 如果修正程式可供使用,而且適配卡不會建立擱置的取得修正呼叫,則 GNSS 驅動程式必須將修正排入佇列,直到建立代表會話標識碼的暫止 I/O 為止。
一旦啟動修正會話,除非 GNSS 配接器明確停止修正會話,否則它會保持作用中。 這適用於所有修正類型。
要求
要求 | 價值 |
---|---|
標頭 | gnssdriver.h |
另請參閱
在驅動程式 中建立IOCTL要求
WdfIoTargetSendInternalIoctlOthersSynchronously