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