次の方法で共有


IOCTL_GNSS_GET_FIXDATA IOCTL (gnssdriver.h)

IOCTL_GNSS_GET_FIXDATA制御コードは、アクティブな修正セッションから次の修正データを受信するために登録するために GNSS アダプターによって使用されます。 この IOCTL は、保留中の I/O 要求を GNSS ドライバーに提供します。非同期解決により、データ バッファーとして GnssEvent メンバーが重複した構造を介してデータが提供されていることをアダプターに通知します。 GnssEvent メンバーは 、GNSS_EVENT 構造体です。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

修正セッション ID を表す DWORD 値へのポインター。

入力バッファーの長さ

sizeof(DWORD) に設定します。

出力バッファー

NULL に設定する

出力バッファーの長さ

0 に設定されます。

ステータス ブロック

Irp->要求が成功した場合、IoStatus.Status はSTATUS_SUCCESSに設定されます。 それ以外の場合は、NTSTATUS コードとして適切なエラー条件の状態

注釈

入力

FixSessionID: アクティブな修正プログラムのセッション ID。

出力

GNSS_EVENT

EventType 要素は、GNSS_Event_FixAvailableに設定する必要があります。

このイベントに関連付けられているデータは 、GNSS_FIXDATA型です。

GNSS アダプターの注意事項

GNSS アダプターは、修正セッションを開始した後、1 つ以上の get fix 要求を発行します。 この呼び出しにより保留中の I/O が作成され、基になる GNSS エンジンまたはキャッシュ値から使用可能になったときに GNSS ドライバーが修正データを返すことができます。

GNSS ドライバー ノート

修正データの準備ができたら、ドライバーはバッファーを入力し、I/O を完了します。 ドライバーは、指定された修正セッション ID のデータが返されることを確認する必要があります。

修正データの準備ができたら、ドライバーはバッファーに入力し、I/O 要求を完了する必要があります。 ドライバーは、指定された修正セッション ID のデータが確実に返されるようにする必要があります。 さらに、IOCTL_GNSS_STOP_FIXSESSIONを発行する GNSS アダプターによって修正セッションが停止した 場合、ドライバーは、特定の修正セッション ID に対するすべての保留中の修正要求を取り消す必要があります。

要件

要件
Header gnssdriver.h

こちらもご覧ください

ドライバー内での IOCTL 要求の作成

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously