다음을 통해 공유


ISensorClassExtension::Initialize 메서드(sensorsclassextension.h)

ISensorClassExtension::Initialize 메서드는 센서 클래스 확장 개체를 초기화합니다.

구문

HRESULT Initialize(
  IUnknown *pWdfDeviceUnknown,
  IUnknown *pSensorDriverUnknown
);

매개 변수

pWdfDeviceUnknown

IWDFDevice 인터페이스를 구현하는 드라이버 클래스에 대한 IUnknown 포인터입니다.

pSensorDriverUnknown

ISensorDriver 콜백 인터페이스를 구현하는 개체에 대한 IUnknown 포인터입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값은 다음 값 중 하나를 포함하지만 이에 국한되지는 않습니다. 설명 부분을 참조하세요.

반환 코드 설명
S_OK 메서드가 성공했습니다.
E_POINTER 인수가 NULL이거나 IWDFDevice 인터페이스가 없습니다.
HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) 클래스 확장이 이미 초기화되었습니다.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED) 클래스 확장이 이미 초기화되었습니다.
HRESULT_FROM_WIN32(ERROR_NOT_FOUND) 센서에 대한 WPD_OBJECT_ID 잘못되었습니다.

설명

먼저 COM CoCreateInstance 메서드를 호출하여 센서 클래스 확장을 만든 다음 Initialize를 호출합니다. IPnpCallbackHardware::OnPrepareHardware에서 UMDF에서 호출할 때 이러한 초기화 단계를 수행하는 것이 좋습니다. Initialize가 반환되면 드라이버는 센서 클래스 확장에서 콜백을 받을 준비가 되어 있어야 합니다. 센서 클래스 확장은 초기화 중에 ISensorDriver::OnGetSupportedSensorObjects를 호출합니다 . 드라이버는 Initialize를 호출하기 전에 모든 필수 속성 및 데이터 필드에 대한 값을 반환할 준비가 되어 있어야 합니다.

클래스 확장은 초기화 중에 드라이버를 호출하므로 이 메서드는 드라이버가 ISensorDriver::OnGetSupportedSensorObjects에서 반환하는 HRESULT를 반환할 수도 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 sensorsclassextension.h
라이브러리 SensorsClassExtension.lib

추가 정보

ISensorClassExtension