EVT_WDF_DRIVER_DEVICE_ADD 콜백 함수(wdfdriver.h)

[KMDF 및 UMDF에 적용]

드라이버의 EvtDriverDeviceAdd 이벤트 콜백 함수는 플러그 앤 플레이(PnP) 관리자가 디바이스의 존재를 보고할 때 디바이스 초기화 작업을 수행합니다.

구문

EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;

NTSTATUS EvtWdfDriverDeviceAdd(
  [in]      WDFDRIVER Driver,
  [in, out] PWDFDEVICE_INIT DeviceInit
)
{...}

매개 변수

[in] Driver

드라이버를 나타내는 프레임워크 드라이버 개체에 대한 핸들입니다.

[in, out] DeviceInit

프레임워크 할당 WDFDEVICE_INIT 구조체에 대한 포인터입니다.

반환 값

EvtDriverDeviceAdd 콜백 함수는 작업이 성공하면 STATUS_SUCCESS 반환해야 합니다. 그렇지 않으면 이 콜백 함수는 Ntstatus.h에 정의된 오류 상태 값 중 하나를 반환해야 합니다. 자세한 내용은 아래 설명 부분을 참조하십시오.

설명

PnP 디바이스를 지원하는 각 프레임워크 기반 드라이버는 EvtDriverDeviceAdd 콜백 함수를 제공해야 합니다. 드라이버는 WdfDriverCreate를 호출하기 전에 콜백 함수의 주소를 WDF_DRIVER_CONFIG 구조에 배치해야 합니다.

이 프레임워크는 버스 드라이버가 드라이버가 지원하는 하드웨어 ID와 일치하는 하드웨어 식별자(ID)가 있는 디바이스를 검색한 후 드라이버의 EvtDriverDeviceAdd 콜백 함수를 호출합니다. 운영 체제에서 디바이스 중 하나가 컴퓨터에 처음 연결되면 드라이버를 설치하는 데 사용하는 INF 파일을 제공하여 드라이버에서 지원하는 하드웨어 ID를 지정합니다. 시스템에서 INF 파일 및 하드웨어 ID를 사용하는 방법에 대한 자세한 내용은 설치 프로그램에서 드라이버를 선택하는 방법을 참조하세요.

드라이버의 EvtDriverDeviceAdd 콜백 함수는 일반적으로 다음 초기화 작업 중 적어도 일부를 수행합니다.

일부 드라이버, 특히 필터 드라이버는 일부 디바이스에 대한 디바이스 개체를 만들지 않을 수 있습니다. EvtDriverDeviceAdd 콜백 함수가 디바이스 개체를 만들지 않는 경우 오류가 발생하지 않는 한 STATUS_SUCCESS 반환해야 합니다.

드라이버의 EvtDriverDeviceAdd 콜백 함수가 디바이스 개체를 만들지만 STATUS_SUCCESS 반환하지 않는 경우 프레임워크는 디바이스 개체와 해당 자식 디바이스를 삭제합니다.

함수 드라이버의 EvtDriverDeviceAdd 콜백 함수가 STATUS_SUCCESS 반환하지 않는 경우 I/O 관리자는 디바이스에 대한 디바이스 스택을 빌드하지 않습니다.

필터 드라이버의 EvtDriverDeviceAdd 콜백 함수가 STATUS_SUCCESS 반환하지 않으면 프레임워크는 반환 값을 STATUS_SUCCESS 변환하고 I/O 관리자는 필터 드라이버 없이 디바이스 스택을 빌드합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfdriver.h(Wdf.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

WDFDEVICE_INIT

WDF_DRIVER_CONFIG

WdfDriverCreate