次の方法で共有


IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnsdriver.h)

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

GNSD 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 アダプターの注意事項

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

GNSS ドライバーノート

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

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

必要条件

要件 価値
ヘッダー gnsdriver.h (Gnsdriver.h を含む)

関連項目

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

WdfIoTargetSendInternalIoctlOthersSynchronously する

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously する