IWiaDevMgr::RegisterEventCallbackCLSID 메서드(wia_xp.h)

IWiaDevMgr::RegisterEventCallbackCLSID 메서드는 애플리케이션이 실행되고 있지 않더라도 이벤트를 수신하도록 애플리케이션을 등록합니다.

구문

HRESULT RegisterEventCallbackCLSID(
  [in] LONG       lFlags,
  [in] BSTR       bstrDeviceID,
  [in] const GUID *pEventGUID,
  [in] const GUID *pClsID,
  [in] BSTR       bstrName,
  [in] BSTR       bstrDescription,
  [in] BSTR       bstrIcon
);

매개 변수

[in] lFlags

형식: LONG

등록 플래그를 지정합니다. 다음 값으로 설정할 수 있습니다.

등록 플래그 의미
WIA_REGISTER_EVENT_CALLBACK 이벤트에 등록합니다.
WIA_UNREGISTER_EVENT_CALLBACK 이벤트에 대한 등록을 삭제합니다.
WIA_SET_DEFAULT_HANDLER 애플리케이션을 기본 이벤트 처리기로 설정합니다.

[in] bstrDeviceID

형식: BSTR

디바이스 식별자를 지정합니다. NULL을 전달하여 모든 WIA 디바이스에서 이벤트에 등록합니다.

[in] pEventGUID

형식: const GUID*

애플리케이션이 등록되는 이벤트를 지정합니다. 표준 이벤트 목록은 WIA 이벤트 식별자를 참조하세요.

[in] pClsID

형식: const GUID*

애플리케이션의 클래스 ID(CLSID)에 대한 포인터입니다. WIA 런타임 시스템은 애플리케이션이 등록된 이벤트가 발생할 때 애플리케이션의 CLSID 를 사용하여 애플리케이션을 시작합니다.

[in] bstrName

형식: BSTR

이벤트를 등록하는 애플리케이션의 이름을 지정합니다.

[in] bstrDescription

형식: BSTR

이벤트를 등록하는 애플리케이션의 텍스트 설명을 지정합니다.

[in] bstrIcon

형식: BSTR

이벤트를 등록하는 애플리케이션의 아이콘에 사용할 이미지 파일의 이름을 지정합니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

WIA 애플리케이션은 이 메서드를 사용하여 WIA_ACTION_EVENT 형식의 하드웨어 디바이스 이벤트를 수신하도록 등록합니다. 프로그램이 IWiaDevMgr::RegisterEventCallbackCLSID를 호출하면 실행되지 않더라도 WIA 디바이스 이벤트를 수신하도록 등록됩니다.

이벤트가 발생하면 WIA 시스템에서 이벤트를 수신하도록 등록된 애플리케이션을 결정합니다. CoCreateInstance 함수와 pClsID 매개 변수에 지정된 클래스 ID를 사용하여 애플리케이션의 instance 만듭니다. 그런 다음 애플리케이션의 ImageEventCallback 메서드를 호출하여 이벤트 정보를 전송합니다.

애플리케이션은 EnumRegisterEventInfo 메서드를 호출하여 이벤트 등록 정보를 열거할 수 있습니다.

애플리케이션은 이벤트 열거형에서 반환된 WIA_DEV_CAP 구조체의 ulFlags 값을 검사하여 이벤트가 작업 유형인지 알림 유형인지(또는 둘 다) 이벤트인지 확인할 수 있습니다.

애플리케이션이 등록된 COM(구성 요소 개체 모델) 구성 요소가 아니고 WIA 아키텍처와 호환되지 않는 경우 개발자는 이 메서드 대신 IWiaDevMgr::RegisterEventCallbackProgram 을 사용해야 합니다.

참고 다중 스레드 애플리케이션에서는 콜백을 등록한 동일한 스레드에서 이벤트 알림 콜백이 들어올 것이라는 보장은 없습니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wia_xp.h(Wia.h 포함)
라이브러리 Wiaguid.lib
DLL Wiaservc.dll