Desconocido


En la programación de computadoras , la interfaz IUnknown es la interfaz fundamental en el Modelo de objetos componentes (COM). La especificación COM [1] exige que los objetos COM deben implementar esta interfaz. Además, todas las demás interfaces COM deben derivarse de IUnknown. IUnknown expone dos características esenciales de todos los objetos COM: la gestión del tiempo de vida de los objetos a través del recuento de referencias y el acceso a la funcionalidad de los objetos a través de otras interfaces .

Una interfaz IUnknown (o derivada de IUnknown) consta de un puntero a una tabla de método virtual que contiene una lista de punteros a las funciones que implementan las funciones declaradas en la interfaz, en el orden en que se declaran en la interfaz. Por lo tanto, la sobrecarga de llamadas de invocación en proceso es idéntica a las llamadas a métodos virtuales en C++. [2]

El Id. de interfaz IUnknown se define como un GUID con el valor de {00000000-0000-0000-C000-000000000046}.

Se requiere que las interfaces de un componente COM exhiban las propiedades reflexivas, simétricas y transitivas . La propiedad reflexiva se refiere a la capacidad de la QueryInterfacellamada en una interfaz dada con la ID de la interfaz para devolver la misma instancia de la interfaz. La propiedad simétrica requiere que cuando la interfaz B se recupera de la interfaz A a través de QueryInterface, la interfaz A también se puede recuperar de la interfaz B. La propiedad transitiva requiere que si la interfaz B se puede obtener desde la interfaz A y la interfaz C se puede obtener desde la interfaz B, entonces la interfaz C debería poder recuperarse desde la interfaz A.