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 명령을 실행하고 원하는 지오펜스를 다시 만듭니다. 이 명령이 마지막으로 정의된 지오펜스를 삭제하면 드라이버는 지오펜스 추적을 중지합니다.

요구 사항

요구 사항
헤더 gnssdriver.h(Gnssdriver.h 포함)

추가 정보

드라이버에서 IOCTL 요청 만들기

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously