다음을 통해 공유


IDriverEntry::OnDeviceAdd 메서드(wudfddi.h)

[경고: UMDF 2는 UMDF의 최신 버전이며 UMDF 1을 대체합니다. 모든 새 UMDF 드라이버는 UMDF 2를 사용하여 작성해야 합니다. UMDF 1에는 새로운 기능이 추가되지 않으며 최신 버전의 Windows 10에서는 UMDF 1에 대한 지원이 제한되어 있습니다. 유니버설 Windows 드라이버는 UMDF 2를 사용해야 합니다. 자세한 내용은 UMDF시작 .]을 참조하세요.

OnDeviceAdd 메서드는 시스템에 새 디바이스를 추가합니다.

통사론

HRESULT OnDeviceAdd(
  [in] IWDFDriver           *pWdfDriver,
  [in] IWDFDeviceInitialize *pWdfDeviceInit
);

매개 변수

[in] pWdfDriver

새 디바이스가 속한 부모 드라이버 개체의 IWDFDriver 인터페이스에 대한 포인터입니다.

[in] pWdfDeviceInit

드라이버가 새로 만든 디바이스를 초기화하는 데 사용하는 IWDFDeviceInitialize 인터페이스에 대한 포인터입니다.

반환 값

OnDeviceAdd 작업이 성공하면 S_OK 반환합니다. 그렇지 않으면 이 메서드는 Winerror.h에 정의된 오류 코드 중 하나를 반환합니다. 드라이버는 IWDFDriver::CreateDevice 메서드를 성공적으로 호출하여 프레임워크 디바이스 개체만드는 경우에만 S_OK 반환해야 합니다. 드라이버가 오류 코드를 반환하는 경우 UMDF는 드라이버가 필터 드라이버인지 함수 드라이버인지에 관계없이 전체 디바이스 스택을 중단합니다.

발언

드라이버 호스트 프로세스에 로드되는 각 디바이스에 대해 새 디바이스 개체가 만들어집니다. 새 디바이스가 시스템에 도착하면 프레임워크는 OnDeviceAdd 호출하여 드라이버에 도착을 알리고 IWDFDriver 전달하고 호출에서 IWDFDeviceInitialize 인터페이스를. 드라이버는 IWDFDeviceInitialize::RetrieveDevicePropertyStore 메서드를 호출하여 디바이스 설치의 일부로 제공되는 디바이스 정보를 쿼리할 수 있습니다. 드라이버는 IWDFDriver::CreateDevice 메서드를 호출하여 디바이스를 구성하고 만들어야 합니다. 드라이버가 S_OK 반환하기 전에 IWDFDriver::CreateDevice 성공적으로 호출하지 않으면 UMDF는 드라이버의 동작이 올바르지 않다고 판단하고 호스트 프로세스를 종료합니다.

OnDeviceAdd 메서드가 S_OK 반환하는 드라이버는 이후에 UMDF가 디바이스 스택을 종료할 때 IPnpCallbackHardware::OnReleaseHardware 메서드에 대한 호출을 받습니다.

드라이버가 IWDFDriver::CreateDevice호출한 후 pWdfDeviceInit 매개 변수가 가리키는 IWDFDeviceInitialize 인터페이스를 사용하지 마세요.

자세한 내용은 디바이스추가를 참조하세요.

요구 사항

요구
대상 플랫폼 Windows
헤더 wudfddi.h(Wudfddi.h 포함)

참고 항목

IDriverEntry

IPnpCallbackHardware::OnReleaseHardware

IWDFDeviceInitialize

IWDFDeviceInitialize::RetrieveDevicePropertyStore

IWDFDriver

IWDFDriver::CreateDevice