Compartir a través de


Función CreateHardwareEventMoniker

[Esta función está disponible a través de Windows XP con Service Pack 2 (SP2) y Windows Server 2003. Puede modificarse o no estar disponible en versiones posteriores de Windows.

Crea un moniker que representa un componente de hardware y su controlador de eventos asociado. Reproducción automática usa esta función para permitir que las aplicaciones usen eventos de Reproducción automática.

Sintaxis

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

Parámetros

clsid [in]

Tipo: REFCLSID

Identificador de la clase a la que se enlaza el moniker.

pszEventHandler [in]

Tipo: LPCTSTR

Nombre del controlador de eventos.

ppmoniker [out]

Tipo: IMoniker**

Dirección de una variable de puntero que recibe el puntero de interfaz IMoniker .

Valor devuelto

Tipo: HRESULT

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT .

Comentarios

Use CreateHardwareEventMoniker al registrar aplicaciones en ejecución para que esas aplicaciones tengan acceso a eventos de Reproducción automática. Para usar eventos de Reproducción automática en aplicaciones en ejecución, primero debe crear un nuevo componente que implemente la interfaz IHWEventHandler . Inicialice esta interfaz con el valor InitCmdLine de la entrada del controlador determinado en la clave Handlers , porque AutoPlay no llama al método Initialize .

Debe llamar a CreateHardwareEventMoniker para obtener un moniker que represente el componente y su controlador de eventos. A continuación, use el valor devuelto en el parámetro ppmoniker para registrar el componente en la tabla de objetos en ejecución (ROT), como se muestra en el ejemplo.

Tenga en cuenta que CreateHardwareEventMoniker no está definido en un archivo de encabezado. Para usarlo en el código, debe obtener un identificador para el archivo Shsvcs.dll a través de una llamada a LoadLibrary. Después, use ese identificador en una llamada a GetProcAddress para obtener una instancia de la función CreateHardwareEventMoniker .

La llamada a IRunningObjectTable::Register requiere que escriba la siguiente información de AppID en el 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 Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
None
Archivo DLL
Shsvcs.dll