VIII. Funciones de soporte COM para Windows

Introducción

COM es una tecnología que permite la reutilización de código escrito en cualquier lenguaje (por cualquier lenguaje) mediante el uso de una convención de llamadas estándar y el ocultamiento de detalles de implementación, tales como en qué máquina se encuentra almacenado un Componente y el ejecutable que lo contiene, detrás de APIs. Puede considerarse como una especie de mecanismo avanzado de Llamados a Procedimientos Remotos (RPC por sus siglas en Inglés) con algunos fundamentos básicos de objetos. Separa la implementación de la interfaz.

El modelo COM fomenta el versionamiento, la separacián de la implementación de la interfaz, y el ocultamiento de los detalles de implementación tales como la ubicación del ejecutable y el lenguaje en el que fue escrito.

Requerimientos

Las funciones COM se encuentran disponibles únicamente en la versión Windows de PHP.

Instalación

No se necesita ninguna instalación para usar estas funciones, son parte del núcleo de PHP.

La versión para Windows de PHP tiene soporte nativo para esta extensión. No se necesita cargar ninguna extensión adicional para usar estas funciones.

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Com configuration options

NameDefaultChangeable
com.allow_dcom"0"PHP_INI_SYSTEM
com.autoregister_typelib"0"PHP_INI_SYSTEM
com.autoregister_verbose"0"PHP_INI_SYSTEM
com.autoregister_casesensitive"1"PHP_INI_SYSTEM
com.typelib_file""PHP_INI_SYSTEM
For further details and definition of the PHP_INI_* constants see ini_set().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

CLSCTX_INPROC_SERVER (integer)

CLSCTX_INPROC_HANDLER (integer)

CLSCTX_LOCAL_SERVER (integer)

CLSCTX_REMOTE_SERVER (integer)

CLSCTX_SERVER (integer)

CLSCTX_ALL (integer)

VT_NULL (integer)

VT_EMPTY (integer)

VT_UI1 (integer)

VT_I2 (integer)

VT_I4 (integer)

VT_R4 (integer)

VT_R8 (integer)

VT_BOOL (integer)

VT_ERROR (integer)

VT_CY (integer)

VT_DATE (integer)

VT_BSTR (integer)

VT_DECIMAL (integer)

VT_UNKNOWN (integer)

VT_DISPATCH (integer)

VT_VARIANT (integer)

VT_I1 (integer)

VT_UI2 (integer)

VT_UI4 (integer)

VT_INT (integer)

VT_UINT (integer)

VT_ARRAY (integer)

VT_BYREF (integer)

CP_ACP (integer)

CP_MACCP (integer)

CP_OEMCP (integer)

CP_UTF7 (integer)

CP_UTF8 (integer)

CP_SYMBOL (integer)

CP_THREAD_ACP (integer)

Ver también

Para más información sobre COM, lea la especificación COM o quizás eche un vistazo a la Otra Librería COM Más (YACL por sus siglas en Inglés) de Don Box.

Tabla de contenidos
COM -- COM class
VARIANT -- VARIANT class
com_addref --  Increases the components reference counter.
com_get -- ???
com_invoke -- ???
com_isenum -- Grabs an IEnumVariant
com_load_typelib -- Loads a Typelib
com_load -- ???
com_propget -- ???
com_propput -- ???
com_propset -- ???
com_release --  Decreases the components reference counter.
com_set -- ???