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 |
另請參閱
WdfIoTargetSendInternalIoctlOthersSynchronously