IOCTL_GNSS_DELETE_GEOFENCE IOCTL (gnssdriver.h)
IOCTL_GNSS_DELETE_GEOFENCEコントロール コードは、GNSS アダプターによって使用され、以前に作成したジオフェンスを削除します。
GNSS DDI バージョン 2 以降に適用されます。
メジャー コード
[入力バッファー]
削除するジオフェンスを定義する 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 (Gnssdriver.h を含む) |
こちらもご覧ください
WdfIoTargetSendInternalIoctlOthersSynchronously