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 |
|
DLL |
|