<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.utilspec.windows.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'book.com.php',
    1 => 'COM',
    2 => 'COM y .Net (Windows)',
  ),
  'up' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Extensiones espec&iacute;ficas de Windows',
  ),
  'prev' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Extensiones espec&iacute;ficas de Windows',
  ),
  'next' => 
  array (
    0 => 'com.setup.php',
    1 => 'Instalaci&oacute;n/Configuraci&oacute;n',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/com/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.com.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.com" class="book">
 
 <h1 class="title">COM y .Net (Windows)</h1>
 

 
 <div id="intro.com" class="preface">
  <h1 class="title">Introducción</h1>
  <p class="para">
   COM es un acrónimo para <code class="literal">Component Object Model</code>;
   es una capa orientada a objetos (y servicios asociados) sobre
   DCE RPC (un estándar libre) que
   define una convención de nomenclatura común que permite que el código escrito en
   cualquier lenguaje se comunique con el código escrito en otro
   lenguaje, siempre que ambos lenguajes sean compatibles con COM.
   Los códigos no necesitan ser parte del mismo ejecutable. El código puede
   ser cargado desde una DLL, encontrado en otro proceso que se ejecuta en el mismo
   servidor, o, con DCOM (Distributed COM), encontrado en una máquina remota, sin que
   su código necesite saber dónde se encuentra.
  </p>
  <p class="para">
   Hay una parte de COM conocida como OLE Automation que incluye un conjunto de
   interfaces COM que permiten desvincularse de los objetos COM, para que puedan ser
   descubiertos y llamados en tiempo de ejecución sin saber en el momento de la compilación
   cómo funciona el objeto. La extensión COM de PHP utiliza las interfaces OLE Automation
   para permitir la creación y llamada de objetos compatibles desde sus scripts. Técnicamente,
   esto debería llamarse &quot;<code class="literal">la Extensión OLE Automation para PHP</code>&quot;,
   ya que no todos los objetos COM son necesariamente compatibles con OLE.
  </p>
  <p class="para">
   Ahora, ¿por qué se debería utilizar COM? COM es uno de los métodos más utilizados para
   hacer que las aplicaciones y componentes se comuniquen en las plataformas Windows. Utilizando
   COM, se puede abrir un documento de Microsoft Word, llenar un fichero de plantilla y guardarlo
   para enviarlo por correo a su visitante. También se puede utilizar COM para realizar tareas
   administrativas en su red y configurar IIS; estos son solo los usos más comunes, se puede hacer
   mucho más con COM.
  </p>
  <p class="para">
   Además, se soporta la instanciación y creación de ensamblados
   .Net utilizando una capa de interoperabilidad COM proporcionada por Microsoft.
  </p>
 </div>
 

 








 







 






 








 





 





 





 





 





 





 









<ul class="chunklist chunklist_book"><li><a href="com.setup.php">Instalaci&oacute;n/Configuraci&oacute;n</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.requirements.php">Requerimientos</a></li><li><a href="com.installation.php">Instalaci&oacute;n</a></li><li><a href="com.configuration.php">Configuraci&oacute;n en tiempo de ejecuci&oacute;n</a></li></ul></li><li><a href="com.constants.php">Constantes predefinidas</a></li><li><a href="com.error-handling.php">Error y gesti&oacute;n de errores</a></li><li><a href="com.examples.php">Ejemplos</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.examples.foreach.php">For Each</a></li><li><a href="com.examples.arrays.php">Arrays y propiedades a la manera de arrays de COM</a></li></ul></li><li><a href="class.com.php">com</a> — La clase com<ul class="chunklist chunklist_book chunklist_children"><li><a href="com.construct.php">com::__construct</a> — Constructor de la clase com</li></ul></li><li><a href="class.dotnet.php">dotnet</a> — La clase dotnet<ul class="chunklist chunklist_book chunklist_children"><li><a href="dotnet.construct.php">dotnet::__construct</a> — Constructor de la clase dotnet</li></ul></li><li><a href="class.variant.php">variant</a> — La clase variant<ul class="chunklist chunklist_book chunklist_children"><li><a href="variant.construct.php">variant::__construct</a> — Constructor de la clase variant</li></ul></li><li><a href="class.compersisthelper.php">COMPersistHelper</a> — La clase COMPersistHelper<ul class="chunklist chunklist_book chunklist_children"><li><a href="compersisthelper.construct.php">COMPersistHelper::__construct</a> — Construye un objeto COMPersistHelper</li><li><a href="compersisthelper.getcurfilename.php">COMPersistHelper::GetCurFileName</a> — Devuelve el nombre del fichero actual</li><li><a href="compersisthelper.getmaxstreamsize.php">COMPersistHelper::GetMaxStreamSize</a> — Devuelve el tama&ntilde;o m&aacute;ximo del stream</li><li><a href="compersisthelper.initnew.php">COMPersistHelper::InitNew</a> — Inicializa un objeto en un estado por omisi&oacute;n</li><li><a href="compersisthelper.loadfromfile.php">COMPersistHelper::LoadFromFile</a> — Carga un objeto desde un fichero</li><li><a href="compersisthelper.loadfromstream.php">COMPersistHelper::LoadFromStream</a> — Carga un objeto desde un stream</li><li><a href="compersisthelper.savetofile.php">COMPersistHelper::SaveToFile</a> — Guarda un objeto en un fichero</li><li><a href="compersisthelper.savetostream.php">COMPersistHelper::SaveToStream</a> — Guarda un objeto en un stream</li></ul></li><li><a href="class.com-exception.php">com_exception</a> — La clase com_exception</li><li><a href="class.com-safearray-proxy.php">com_safearray_proxy</a> — La clase com_safearray_proxy</li><li><a href="ref.com.php">Funciones COM y .Net (Windows)</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.com-create-guid.php">com_create_guid</a> — Genera un identificador &uacute;nico global (GUID)</li><li><a href="function.com-event-sink.php">com_event_sink</a> — Conecta eventos de un objeto COM a un objeto PHP</li><li><a href="function.com-get-active-object.php">com_get_active_object</a> — Devuelve un objeto que representa la instancia actual de un objeto COM</li><li><a href="function.com-load-typelib.php">com_load_typelib</a> — Carga un Typelib</li><li><a href="function.com-message-pump.php">com_message_pump</a> — Procesa un mensaje COM en un tiempo dado</li><li><a href="function.com-print-typeinfo.php">com_print_typeinfo</a> — Muestra una definici&oacute;n de clase PHP para una interfaz distribuible</li><li><a href="function.variant-abs.php">variant_abs</a> — Devuelve el valor absoluto de un variant</li><li><a href="function.variant-add.php">variant_add</a> — A&ntilde;ade dos valores de variantes y devuelve el resultado</li><li><a href="function.variant-and.php">variant_and</a> — Realiza un AND entre dos variantes y devuelve el resultado</li><li><a href="function.variant-cast.php">variant_cast</a> — Convierte un variant en un nuevo objeto variant de tipo diferente</li><li><a href="function.variant-cat.php">variant_cat</a> — Une dos valores variantes y devuelve el resultado</li><li><a href="function.variant-cmp.php">variant_cmp</a> — Compara dos variantes</li><li><a href="function.variant-date-from-timestamp.php">variant_date_from_timestamp</a> — Devuelve una representaci&oacute;n de fecha en variant de un timestamp Unix</li><li><a href="function.variant-date-to-timestamp.php">variant_date_to_timestamp</a> — Convierte un valor de fecha/hora variante en un timestamp Unix</li><li><a href="function.variant-div.php">variant_div</a> — Devuelve el resultado de la divisi&oacute;n de dos variantes</li><li><a href="function.variant-eqv.php">variant_eqv</a> — Realiza una equivalencia de bits de dos variants</li><li><a href="function.variant-fix.php">variant_fix</a> — Recupera la porci&oacute;n entera de un variant</li><li><a href="function.variant-get-type.php">variant_get_type</a> — Devuelve el tipo de un objeto variant</li><li><a href="function.variant-idiv.php">variant_idiv</a> — Convierte variants en valores enteros y realiza una divisi&oacute;n</li><li><a href="function.variant-imp.php">variant_imp</a> — Ejecuta una implicaci&oacute;n a nivel de bits de dos variantes</li><li><a href="function.variant-int.php">variant_int</a> — Devuelve la parte entera de un variant</li><li><a href="function.variant-mod.php">variant_mod</a> — Divide dos variantes y devuelve el resto</li><li><a href="function.variant-mul.php">variant_mul</a> — Multiplica los valores de dos variantes</li><li><a href="function.variant-neg.php">variant_neg</a> — Realiza una negaci&oacute;n l&oacute;gica sobre un variant</li><li><a href="function.variant-not.php">variant_not</a> — Ejecuta una negaci&oacute;n a nivel de bits sobre un variant</li><li><a href="function.variant-or.php">variant_or</a> — Realiza una disyunci&oacute;n l&oacute;gica sobre dos variantes</li><li><a href="function.variant-pow.php">variant_pow</a> — Devuelve el resultado de la funci&oacute;n potencia con dos variantes</li><li><a href="function.variant-round.php">variant_round</a> — Redondea el variant al n&uacute;mero especificado de decimales</li><li><a href="function.variant-set.php">variant_set</a> — Asigna un nuevo valor a un objeto variant</li><li><a href="function.variant-set-type.php">variant_set_type</a> — Convierte un variant en otro tipo &quot;in situ&quot;</li><li><a href="function.variant-sub.php">variant_sub</a> — Sustrae el valor del variant de la derecha del valor del de la izquierda</li><li><a href="function.variant-xor.php">variant_xor</a> — Ejecuta una exclusi&oacute;n l&oacute;gica sobre dos variantes</li></ul></li></ul></div><?php manual_footer($setup); ?>