IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnssdriver.h)

IOCTL_GNSS_DELETE_GEOFENCEコントロール コードは、以前に作成したジオフェンスを削除するために、GNSS アダプターによって使用されます。

メモ GNSS DDI バージョン 2 以降に適用されます。
 

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

削除するジオフェンスを定義する GNSS_GEOFENCE_DELETE_PARAM 構造体へのポインター。

入力バッファーの長さ

sizeof(GNSS_GEOFENCE_DELETE_PARAM) に設定します。

出力バッファー

NULL に設定 します

出力バッファーの長さ

0 に設定されます。

ステータス ブロック

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

注釈

NTSTATUS と次の表示:

  • STATUS_SUCCESS: ドライバーがジオフェンスを正常に削除しました。
  • STATUS_UNSUCCESSFUL: 失敗しました。ジオフェンスを削除できません。

GNSS アダプターに関する注意事項

このエラーの結果を処理するエレガントな方法がないため、この呼び出しが失敗するとは、GNSS アダプターは想定していません。 障害が発生した場合、GNSS アダプターは GNSS_ResetGeofencesTracking コマンドを発行し、ジオフェンスを再追加します。

GNSS ドライバーノート

これが最後のジオフェンスの場合、GNSS ドライバーはジオフェンス追跡を停止する必要があります。 最後のジオフェンスを削除する前に、GNSS エンジンがジオフェンスを追跡できなかった場合 (信号状態の不良やその他の一時的なエラーが原因で)、監視アクティビティは停止する必要があります。

ジオフェンスが正常に削除されると、ドライバーはSTATUS_SUCCESSを返します。 ジオフェンスを削除できない場合は、エラー コード STATUS_UNSUCCESSFULが返されます。 障害が発生した場合、GNSS アダプターは GNSS_ResetGeofencesTracking コマンドを発行し、目的のジオフェンスを再作成します。 このコマンドによって最後に定義されたジオフェンスが削除された場合、ドライバーはジオフェンスの追跡を停止します。

要件

   
Header gnssdriver.h

こちらもご覧ください

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

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously