API COM para WMI
Puede usar la API del modelo de objetos componentes de WMI (COM) para escribir aplicaciones cliente de administración o crear un nuevo proveedor de WMI. La referencia de API COM proporciona información para administradores avanzados del sistema, así como para desarrolladores que escriben aplicaciones cliente y proveedor.
Para obtener más información sobre cómo escribir aplicaciones de administración empresarial de WMI, consulte Creación de una aplicación WMI mediante C++. Para obtener más información sobre cómo escribir un proveedor WMI, consulte Proporcionar datos a WMI.
Nota
WMI solo admite el desarrollo de C++ con Microsoft Visual C++ versión 6.0 y sistemas de desarrollo posteriores. Sin embargo, también puede usar otros compiladores como los de Borland y Watcom.
Cada uno de los distintos objetos WMI hereda de una interfaz heredada en última instancia de la interfaz IUnknown. COM determina cómo los implementadores de objetos o las interfaces controlan tareas como la administración de memoria, la administración de parámetros y el multithreading. Al cumplir con COM, la API COM para WMI garantiza que admite la funcionalidad proporcionada por las interfaces de cada objeto WMI.
Se accede a WMI a través de las siguientes interfaces COM específicas de WMI.
Interfaz | Descripción |
---|---|
IEnumWbemClassObject | Enumerador que funciona con objetos de tipo IWbemClassObject. Es similar a los enumeradores COM estándar, como IEnumVariant. |
IMofCompiler | Implementada por Mofd.dll, esta interfaz proporciona una interfaz COM que usa el compilador MOF y cualquier otra aplicación que compile archivos MOF. |
IUnsecuredApartment | Se usa para simplificar el proceso de realizar llamadas asincrónicas desde un proceso de cliente. |
IWbemBackupRestore | Realiza una copia de seguridad y restaura el contenido del repositorio WMI. |
IWbemCallResult | Se usa para llamadas de semisincrónicas de la interfazdeIWbemServices. Al realizar estas llamadas, el método IWbemServices llamado devuelve inmediatamente, junto con un objeto IWbemCallResult. |
IWbemCausalityAnalysis | Realiza un seguimiento de las solicitudes secundarias que se generan a partir de una solicitud primaria. |
IWbemClassObject | Contiene y manipula las definiciones de clase y las instancias de objeto de clase. Los desarrolladores no necesitan implementar esta interfaz; WMI proporciona su implementación. |
IWbemConfigureRefresher | Usado por el código de cliente para agregar o quitar enumeradores, objetos y actualizadores anidados en un actualizador. |
IWbemContext | Opcionalmente se usa para comunicar información de contexto adicional a los proveedores al enviar IWbemServices llamadas a administración de Windows. |
IWbemDecoupledBasicEventProvider | Registra proveedores desacoplados con WMI. |
IWbemDecoupledRegistrar | Asocia proveedores desacoplados con WMI. Esta interfaz permite que un proveedor hospedado por procesos defina la duración de la interoperabilidad de la interfaz y coexista con otros proveedores. |
IWbemEventConsumerProvider | Proporciona la interfaz principal para un proveedor de consumidores de eventos. A través de esta interfaz y el método FindConsumer, un proveedor de consumidores de eventos puede indicar qué consumidores de eventos deben recibir un evento determinado. |
IWbemEventProvider | Se usa para iniciar la comunicación con un proveedor de eventos. |
IWbemEventProviderQuerySink | Opcionalmente, los proveedores de eventos que desean saber qué tipos de filtros de consulta de eventos están activos actualmente para optimizar el rendimiento. |
IWbemEventProviderSecurity | Opcionalmente, los proveedores de eventos que desean restringir el acceso de los consumidores a su evento. |
IWbemEventSink | Inicia la comunicación con un proveedor de eventos mediante un conjunto restringido de consultas. Esta interfaz amplía IWbemObjectSink, lo que proporciona nuevos métodos que tratan sobre la seguridad y el rendimiento. |
IWbemHiPerfProvider | Permite a los proveedores proporcionar objetos y enumeradores actualizables. |
IWbemHiPerfEnum | Se usa en las operaciones del actualizador para proporcionar acceso rápido a las enumeraciones de objetos de instancia. |
IWbemLocator | Obtiene el puntero de espacio de nombres inicial al IWbemServices interfaz para WMI en un equipo host específico. |
IWbemObjectAccess | Proporciona acceso a los métodos y propiedades de un objeto . Un objetoIWbemObjectAccess es un contenedor para una instancia actualizada por un refresher. |
IWbemObjectSink | Se usa para recibir los resultados de IWbemServices y ciertos tipos de notificaciones de eventos. |
IWbemObjectTextSrc | Se usa para traducir IWbemClassObject instancias a y desde formatos de texto diferentes. |
IWbemPropertyProvider | Admite la recuperación y actualización de propiedades individuales en una instancia de una clase WMI. |
IWbemProviderIdentity | Implementado por un proveedor de eventos si el proveedor se registra usando más de un Nombre (varias instancias de __Win32Provider) con el mismo valor CLSID. La clase proporciona un mecanismo para distinguir qué proveedor con nombre se debe usar. |
IWbemProviderInit | Se usa para inicializar proveedores. |
IWbemProviderInitSink | Implementado por WMI y llamado por proveedores para notificar el estado de inicialización. |
IWbemQualifierSet | Actúa como contenedor para todo el conjunto de calificadores con nombre para una sola propiedad o un objeto completo (una clase o instancia). |
IWbemQuery | Proporciona un punto de entrada a través del cual se puede analizar una consulta de lenguaje de consulta WMI (WQL). |
IWbemRefresher | Proporciona un punto de entrada a través del cual se pueden actualizar objetos actualizables, como enumeradores o objetos de actualizador. |
IWbemServices | Los clientes y proveedores usan para acceder a los servicios WMI. WMI implementa la interfaz solo y es la interfaz WMI principal. |
IWbemStatusCodeText | Extrae descripciones de cadenas de texto de códigos de error o el nombre del subsistema donde se produjo el error. |
IWbemUnboundObjectSink | Implementado por todos los consumidores de eventos lógicos. Es una interfaz de receptor simple que acepta la entrega de objetos de evento. |
Nota
Muchas de las funciones COM de WMI devuelven códigos de error numéricos que se documentan como constantes con nombre. Estas constantes se definen en Wbemcli.h en la carpeta PSDK WMI\Include. Para obtener más información, vea códigos de retorno de WMI.
Para obtener más información sobre los temas siguientes para la programación COM, vea de desarrollo de componentes:
- Interfaces y diseño de objetos.
- Implementación de IUnknown.
- Administración de memoria
- Control del recuento de referencias.
Temas relacionados