DEVICE_RESET_HANDLER 콜백 함수(wdm.h)

DeviceReset 루틴은 오작동하는 디바이스를 초기화하고 복구하는 데 사용됩니다.

구문

DEVICE_RESET_HANDLER DeviceResetHandler;

NTSTATUS DeviceResetHandler(
  [in]           PVOID InterfaceContext,
  [in]           DEVICE_RESET_TYPE ResetType,
  [in]           ULONG Flags,
  [in, optional] PVOID ResetParameters
)
{...}

매개 변수

[in] InterfaceContext

인터페이스별 컨텍스트 정보에 대한 포인터입니다. 호출자는 인터페이스에 대한 DEVICE_RESET_INTERFACE_STANDARD 구조체의 컨텍스트 멤버로 전달되는 값을 전달합니다.

[in] ResetType

요청되는 다시 설정의 유형입니다. 이 매개 변수를 다음 DEVICE_RESET_TYPE 열거형 값 중 하나로 설정합니다.

  • FunctionLevelDeviceReset. 특정 디바이스로 제한되는 함수 수준 재설정을 요청하려면 이 값을 지정합니다.

  • PlatformLevelDeviceReset. 특정 디바이스 및 동일한 전원 레일 또는 리셋 라인을 통해 연결된 다른 모든 디바이스에 영향을 주는 플랫폼 수준 재설정을 요청하려면 이 값을 지정합니다.

디바이스 스택에서 함수 수준 및 플랫폼 수준 재설정을 구현하는 방법에 대한 자세한 내용은 GUID_DEVICE_RESET_INTERFACE_STANDARD 작업을 참조하세요.

[in] Flags

0으로 설정합니다. 현재 이 루틴에 대해 정의된 플래그는 없습니다.

[in, optional] ResetParameters

호출자가 함수 수준 디바이스 재설정을 요청하는 경우 이 선택적 매개 변수는 다시 설정이 완료되면 호출되는 콜백 루틴을 지정하는 FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS 구조를 가리킬 수 있습니다.

반환 값

이 루틴은 요청된 작업이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환합니다.

설명

함수 드라이버가 디바이스가 제대로 작동하지 않는 것을 감지하는 경우 먼저 함수 수준 재설정을 시도해야 합니다. 함수 수준 다시 설정으로 문제가 해결되지 않으면 드라이버는 보다 침습적인 플랫폼 수준 재설정을 시도할 수 있지만 플랫폼 수준 재설정은 최종 옵션으로만 사용해야 합니다.

PASSIVE_LEVEL 함수 수준 재설정 또는 플랫폼 수준 재설정을 수행해야 합니다.

함수 수준 및 플랫폼 수준 재설정에 대한 자세한 내용은 GUID_DEVICE_RESET_INTERFACE_STANDARD 작업을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 10
대상 플랫폼 데스크톱
머리글 wdm.h(Wdm.h 포함)

추가 정보

GUID_DEVICE_RESET_INTERFACE_STANDARD 작업

IRP_MN_QUERY_INTERFACE