<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'book.com.php',
    1 => 'COM',
    2 => 'COM and .Net (Windows)',
  ),
  'up' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Windowsbasierte Erweiterungen',
  ),
  'prev' => 
  array (
    0 => 'refs.utilspec.windows.php',
    1 => 'Windowsbasierte Erweiterungen',
  ),
  'next' => 
  array (
    0 => 'com.setup.php',
    1 => 'Installation/Konfiguration',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    '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 and .Net (Windows)</h1>
 

 
 <div id="intro.com" class="preface">
  <h1 class="title">Einführung</h1>
  <p class="para">
   COM is an acronym for <code class="literal">Component Object Model</code>; it is an object orientated
   layer (and associated services) on top of DCE RPC (an open standard) and
   defines a common calling convention that enables code written in any
   language to call and interoperate with code written in any other language
   (provided those languages are COM aware).  Not only can the code be
   written in any language, but it need not even be part of the same
   executable; the code can be loaded from a DLL, be found in another
   process running on the same machine, or, with DCOM (Distributed COM), be
   found in another process on a remote machine, all without your code even
   needing to know where a component resides.
  </p>
  <p class="para">
   There is a subset of COM known as OLE Automation which comprises a set of
   COM interfaces that allow loose binding to COM objects, so that they can
   be introspected and called at run-time without compile-time knowledge of
   how the object works.  The PHP COM extension utilizes the OLE
   Automation interfaces to allow you to create and call compatible objects
   from your scripts.  Technically speaking, this should really be called
   the &quot;<code class="literal">OLE Automation Extension for PHP</code>&quot;, since not all COM objects are OLE
   compatible.
  </p>
  <p class="para">
   Now, why would or should you use COM?  COM is one of the main ways to glue
   applications and components together on the Windows platform; using COM
   you can launch Microsoft Word, fill in a document template and save the
   result as a Word document and send it to a visitor of your web site.  You
   can also use COM to perform administrative tasks for your network and to
   configure your IIS; these are just the most common uses; you can do much
   more with COM.
  </p>
  <p class="para">
   Additionally, we support the instantiation and creation of
   .Net assemblies using the COM interoperability layer provided by
   Microsoft.
  </p>
 </div>
 

 







 




 






 






 







 




 







 




 





 



 








<ul class="chunklist chunklist_book"><li><a href="com.setup.php">Installation/Konfiguration</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="com.requirements.php">Anforderungen</a></li><li><a href="com.installation.php">Installation</a></li><li><a href="com.configuration.php">Laufzeit-Konfiguration</a></li></ul></li><li><a href="com.constants.php">Vordefinierte Konstanten</a></li><li><a href="com.error-handling.php">Errors and error handling</a></li><li><a href="com.examples.php">Beispiele</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 and Array-style COM properties</a></li></ul></li><li><a href="class.com.php">com</a> — Die Klasse com<ul class="chunklist chunklist_book chunklist_children"><li><a href="com.construct.php">com::__construct</a> — Der com-Klassenkonstruktor</li></ul></li><li><a href="class.dotnet.php">dotnet</a> — The dotnet class<ul class="chunklist chunklist_book chunklist_children"><li><a href="dotnet.construct.php">dotnet::__construct</a> — dotnet class constructor</li></ul></li><li><a href="class.variant.php">variant</a> — Die Klasse variant<ul class="chunklist chunklist_book chunklist_children"><li><a href="variant.construct.php">variant::__construct</a> — Der variant-Klassenkonstruktor</li></ul></li><li><a href="class.compersisthelper.php">COMPersistHelper</a> — The COMPersistHelper class<ul class="chunklist chunklist_book chunklist_children"><li><a href="compersisthelper.construct.php">COMPersistHelper::__construct</a> — Construct a COMPersistHelper object</li><li><a href="compersisthelper.getcurfilename.php">COMPersistHelper::GetCurFileName</a> — Get current filename</li><li><a href="compersisthelper.getmaxstreamsize.php">COMPersistHelper::GetMaxStreamSize</a> — Get maximum stream size</li><li><a href="compersisthelper.initnew.php">COMPersistHelper::InitNew</a> — Initialize object to default state</li><li><a href="compersisthelper.loadfromfile.php">COMPersistHelper::LoadFromFile</a> — Load object from file</li><li><a href="compersisthelper.loadfromstream.php">COMPersistHelper::LoadFromStream</a> — Load object from stream</li><li><a href="compersisthelper.savetofile.php">COMPersistHelper::SaveToFile</a> — Save object to file</li><li><a href="compersisthelper.savetostream.php">COMPersistHelper::SaveToStream</a> — Save object to stream</li></ul></li><li><a href="class.com-exception.php">com_exception</a> — Die Klasse com_exception</li><li><a href="class.com-safearray-proxy.php">com_safearray_proxy</a> — The com_safearray_proxy class</li><li><a href="ref.com.php">COM Funktionen</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.com-create-guid.php">com_create_guid</a> — Generate a globally unique identifier (GUID)</li><li><a href="function.com-event-sink.php">com_event_sink</a> — Connect events from a COM object to a PHP object</li><li><a href="function.com-get-active-object.php">com_get_active_object</a> — Returns a handle to an already running instance of a COM object</li><li><a href="function.com-load-typelib.php">com_load_typelib</a> — L&auml;dt eine Typelib</li><li><a href="function.com-message-pump.php">com_message_pump</a> — Process COM messages, sleeping for up to timeoutms milliseconds</li><li><a href="function.com-print-typeinfo.php">com_print_typeinfo</a> — Print out a PHP class definition for a dispatchable interface</li><li><a href="function.variant-abs.php">variant_abs</a> — Returns the absolute value of a variant</li><li><a href="function.variant-add.php">variant_add</a> — &quot;Adds&quot; two variant values together and returns the result</li><li><a href="function.variant-and.php">variant_and</a> — Performs a bitwise AND operation between two variants</li><li><a href="function.variant-cast.php">variant_cast</a> — Convert a variant into a new variant object of another type</li><li><a href="function.variant-cat.php">variant_cat</a> — Concatenates two variant values together and returns the result</li><li><a href="function.variant-cmp.php">variant_cmp</a> — Compares two variants</li><li><a href="function.variant-date-from-timestamp.php">variant_date_from_timestamp</a> — Returns a variant date representation of a Unix timestamp</li><li><a href="function.variant-date-to-timestamp.php">variant_date_to_timestamp</a> — Converts a variant date/time value to Unix timestamp</li><li><a href="function.variant-div.php">variant_div</a> — Returns the result from dividing two variants</li><li><a href="function.variant-eqv.php">variant_eqv</a> — Performs a bitwise equivalence on two variants</li><li><a href="function.variant-fix.php">variant_fix</a> — Returns the integer portion of a variant</li><li><a href="function.variant-get-type.php">variant_get_type</a> — Returns the type of a variant object</li><li><a href="function.variant-idiv.php">variant_idiv</a> — Converts variants to integers and then returns the result from dividing them</li><li><a href="function.variant-imp.php">variant_imp</a> — Performs a bitwise implication on two variants</li><li><a href="function.variant-int.php">variant_int</a> — Returns the integer portion of a variant</li><li><a href="function.variant-mod.php">variant_mod</a> — Divides two variants and returns only the remainder</li><li><a href="function.variant-mul.php">variant_mul</a> — Multiplies the values of the two variants</li><li><a href="function.variant-neg.php">variant_neg</a> — Performs logical negation on a variant</li><li><a href="function.variant-not.php">variant_not</a> — Performs bitwise not negation on a variant</li><li><a href="function.variant-or.php">variant_or</a> — Performs a logical disjunction on two variants</li><li><a href="function.variant-pow.php">variant_pow</a> — Returns the result of performing the power function with two variants</li><li><a href="function.variant-round.php">variant_round</a> — Rounds a variant to the specified number of decimal places</li><li><a href="function.variant-set.php">variant_set</a> — Assigns a new value for a variant object</li><li><a href="function.variant-set-type.php">variant_set_type</a> — Convert a variant into another type &quot;in-place&quot;</li><li><a href="function.variant-sub.php">variant_sub</a> — Subtracts the value of the right variant from the left variant value</li><li><a href="function.variant-xor.php">variant_xor</a> — Performs a logical exclusion on two variants</li></ul></li></ul></div><?php manual_footer($setup); ?>