다음을 통해 공유


CreateHardwareEventMoniker 함수

[이 함수는 Windows XP 서비스 팩 2(SP2) 및 Windows Server 2003을 통해 사용할 수 있습니다. 이후 버전의 Windows에서는 변경되거나 사용하지 못할 수 있습니다.]

하드웨어 구성 요소 및 관련 이벤트 처리기를 나타내는 모니커를 만듭니다. 자동 실행은 이 함수를 사용하여 애플리케이션이 자동 실행 이벤트를 사용할 수 있도록 합니다.

구문

HRESULT CreateHardwareEventMoniker(
  _In_  REFCLSID clsid,
  _In_  LPCTSTR  pszEventHandler,
  _Out_ IMoniker **ppmoniker
);

매개 변수

clsid [in]

형식: REFCLSID

모니커가 바인딩하는 클래스의 ID입니다.

pszEventHandler [in]

형식: LPCTSTR

이벤트 처리기의 이름입니다.

ppmoniker [out]

형식: IMoniker**

IMoniker 인터페이스 포인터를 수신하는 포인터 변수의 주소입니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

실행 중인 애플리케이션을 등록할 때 CreateHardwareEventMoniker 를 사용하여 해당 애플리케이션이 자동 실행 이벤트에 액세스할 수 있도록 합니다. 실행 중인 애플리케이션에서 자동 실행 이벤트를 사용하려면 먼저 IHWEventHandler 인터페이스를 구현하는 새 구성 요소를 만들어야 합니다. AutoPlay는 Initialize 메서드를 호출하지 않으므로 이 인터페이스를 처리기 키 아래의 특정 처리기 항목에서 InitCmdLine 값으로 초기화 합니다.

CreateHardwareEventMoniker를 호출하여 구성 요소 및 해당 이벤트 처리기를 나타내는 모니커를 가져와야 합니다. 그런 다음 ppmoniker 매개 변수에 반환된 값을 사용하여 예제와 같이 ROT(실행 중인 개체 테이블)에 구성 요소를 등록합니다.

CreateHardwareEventMoniker는 헤더 파일에 정의되어 있지 않습니다. 코드에서 사용하려면 LoadLibrary 호출을 통해 Shsvcs.dll 파일에 대한 핸들을 가져와야 합니다. 그런 다음 GetProcAddress 호출에서 해당 핸들을 사용하여 CreateHardwareEventMoniker 함수의 instance 가져옵니다.

IRunningObjectTable::Register를 호출하려면 레지스트리에 다음 AppID 정보를 입력해야 합니다.

HKEY_CLASSES_ROOT
   AppID
      MyApp.exe
         (Default) = MyApplication
         AppID [REG_SZ] = {Your GUID here}
HKEY_CLASSES_ROOT
   AppID
      {The same GUID here}
         (Default) = MyApplication
         RunAs = Interactive User

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
없음
DLL
Shsvcs.dll