Compartilhar via


Função CreateHardwareEventMoniker

[Essa função está disponível por meio do Windows XP com Service Pack 2 (SP2) e Windows Server 2003. Ele pode estar alterado ou indisponível em versões subsequentes do Windows.]

Cria um moniker que representa um componente de hardware e seu manipulador de eventos associado. A Reprodução Automática usa essa função para permitir que os aplicativos usem eventos de Reprodução Automática.

Sintaxe

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

Parâmetros

clsid [in]

Tipo: REFCLSID

A ID da classe à qual o moniker é associado.

pszEventHandler [in]

Tipo: LPCTSTR

O nome do manipulador de eventos.

ppmoniker [out]

Tipo: IMoniker**

O endereço de uma variável de ponteiro que recebe o ponteiro da interface IMoniker .

Valor retornado

Tipo: HRESULT

Se essa função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT .

Comentários

Use CreateHardwareEventMoniker ao registrar aplicativos em execução para que esses aplicativos tenham acesso a eventos de Reprodução Automática. Para usar eventos de Reprodução Automática em aplicativos em execução, primeiro você deve criar um novo componente que implemente a interface IHWEventHandler . Inicialize essa interface com o valor InitCmdLine da entrada do manipulador específico na chave Manipuladores , pois a Reprodução Automática não chama o método Initialize .

Você deve chamar CreateHardwareEventMoniker para obter um moniker que representa seu componente e seu manipulador de eventos. Em seguida, use o valor retornado no parâmetro ppmoniker para registrar seu componente na ROT (tabela de objetos em execução), conforme mostrado no exemplo.

Observe que CreateHardwareEventMoniker não está definido em um arquivo de cabeçalho. Para usá-lo em seu código, você deve obter um identificador para o arquivo Shsvcs.dll por meio de uma chamada para LoadLibrary. Em seguida, use esse identificador em uma chamada para GetProcAddress para obter uma instância da função CreateHardwareEventMoniker .

A chamada para IRunningObjectTable::Register exige que você insira as seguintes informações de AppID no Registro.

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

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Nenhum
DLL
Shsvcs.dll