Функция CreateHardwareEventMoniker
[Эта функция доступна в Windows XP с пакетом обновления 2 (SP2) и Windows Server 2003. Он может быть изменен или недоступен в последующих версиях Windows.]
Создает моникер, представляющий аппаратный компонент и связанный с ним обработчик событий. Автозапуск использует эту функцию, чтобы разрешить приложениям использовать события автозапуска.
Синтаксис
HRESULT CreateHardwareEventMoniker(
_In_ REFCLSID clsid,
_In_ LPCTSTR pszEventHandler,
_Out_ IMoniker **ppmoniker
);
Параметры
-
clsid [in]
-
Тип: REFCLSID
Идентификатор класса, к которому привязывается моникер.
-
pszEventHandler [in]
-
Тип: LPCTSTR
Имя обработчика событий.
-
ppmoniker [out]
-
Тип: IMoniker**
Адрес переменной указателя, получающей указатель интерфейса IMoniker .
Возвращаемое значение
Тип: HRESULT
Если эта функция завершается успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Используйте CreateHardwareEventMoniker при регистрации запущенных приложений, чтобы эти приложения имели доступ к событиям автозапуска. Чтобы использовать события автозапуска в запущенных приложениях, необходимо сначала создать новый компонент, реализующий интерфейс IHWEventHandler . Инициализируйте этот интерфейс с помощью значения InitCmdLine из записи конкретного обработчика в ключе Handlers , так как автозапуск не вызывает метод Initialize .
Вызовите Метод CreateHardwareEventMoniker , чтобы получить моникер, представляющий компонент и его обработчик событий. Затем используйте значение, возвращаемое в параметре ppmoniker , чтобы зарегистрировать компонент в таблице выполняющихся объектов (ROT), как показано в примере.
Обратите внимание, что CreateHardwareEventMoniker не определен в файле заголовка. Чтобы использовать его в коде, необходимо получить дескриптор файла Shsvcs.dll через вызов LoadLibrary. Затем вы используете этот дескриптор в вызове GetProcAddress , чтобы получить экземпляр функции CreateHardwareEventMoniker .
Для вызова метода 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 |
|