共用方式為


IOCTL_GNSS_START_FIXSESSION IOCTL (gnssdriver.h)

GNSS 配接器會使用 IOCTL_GNSS_START_FIXSESSION 控件程式代碼來啟動修正會話。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

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

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously